// Patches applying art changes to 2.5m engines // Contents: // - LFB KR-1x2 "Twin-Boar" Liquid Fuel Engine (Size2LFB) // - RE-M3 "Mainsail" Liquid Fuel Engine (liquidEngine1-2) // - RE-L10 "Poodle" Liquid Fuel Engine (liquidEngine2-2_v2) // - RE-I5 "Skipper" Liquid Fuel Engine (engineLargeSkipper) // Mainsail @PART[liquidEngine1-2] { @author = Chris Adderley (Nertea) and riocrokite %node_attach = 0.0, 1.065308, 0.0, 0.0, 1.0, 0.0, 2 @attachRules = 1,1,1,0,0 !fx_exhaustFlame_blue = DELETE !fx_exhaustLight_blue = DELETE !fx_smokeTrail_light = DELETE !fx_exhaustSparks_flameout = DELETE !sound_vent_medium = DELETE !sound_rocket_hard = DELETE !sound_vent_soft = DELETE !sound_explosion_low = DELETE !MODEL {} MODEL { model = ReStock/Assets/Engine/restock-engine-mainsail-1 position = 0.0, 0.0, 0.0 scale = 1,1,1 rotation = 0, 0, 0 } !EFFECTS {} EFFECTS { engage { AUDIO { channel = Ship clip = sound_vent_medium volume = 1.0 pitch = 2.0 loop = false } } disengage { AUDIO { channel = Ship clip = sound_vent_soft volume = 1.0 pitch = 2.0 loop = false } } flameout { PREFAB_PARTICLE { prefabName = fx_exhaustSparks_flameout_2 transformName = smokePoint oneShot = true } AUDIO { channel = Ship clip = sound_explosion_low volume = 1.0 pitch = 2.0 loop = false } } fx-mainsail-running { AUDIO { channel = Ship clip = sound_rocket_hard volume = 0.0 0.0 volume = 1.0 1.0 pitch = 0.0 0.2 pitch = 1.0 1.0 loop = true } MODEL_MULTI_PARTICLE { name = core modelName = ReStock/FX/restock-fx-mainsail-core-1 transformName = fxTransformCore emission = 0.0 0.0 emission = 0.01 0.1 emission = 0.075 0.25 emission = 1.0 1.0 speed = 0.0 0.35 speed = 1.0 1.0 } MODEL_MULTI_PARTICLE { name = plume modelName = ReStock/FX/restock-fx-mainsail-plume-1 transformName = fxTransformPlume emission = 0.0 0.0 emission = 0.01 0.1 emission = 0.075 0.25 emission = 1.0 1.0 speed = 0.0 0.35 speed = 1.0 1.0 } MODEL_MULTI_PARTICLE { name = flame modelName = ReStock/FX/restock-fx-mainsail-flame-1 transformName = fxTransformPlume emission = 0.0 0.0 emission = 0.01 0.1 emission = 0.075 0.25 emission = 1.0 1.0 speed = 0.0 0.35 speed = 1.0 1.0 } PREFAB_PARTICLE { prefabName = fx_smokeTrail_veryLarge transformName = smokePoint emission = 0.0 0.0 emission = 0.05 0.0 emission = 0.075 0.25 emission = 1.0 1.25 speed = 0.0 0.25 speed = 1.0 1.0 localOffset = 0, 0, 1 } } } @MODULE[ModuleGimbal] { @gimbalTransformName = B_Gimbal gimbalResponseSpeed = 8 useGimbalResponseSpeed = true } @MODULE[ModuleEngines] { @name = ModuleEnginesFX %runningEffectName = fx-mainsail-running } MODULE { name = FXModuleLookAtConstraint // Basic CONSTRAINLOOKFX { targetName = MS_LowerCyl001 rotatorsName = MS_UpperCyl001 } CONSTRAINLOOKFX { targetName = MS_UpperCyl001 rotatorsName = MS_LowerCyl001 } CONSTRAINLOOKFX { targetName = MS_LowerCyl002 rotatorsName = MS_UpperCyl002 } CONSTRAINLOOKFX { targetName = MS_UpperCyl002 rotatorsName = MS_LowerCyl002 } } !MODULE[FXModuleAnimateThrottle] {} MODULE { name = FXModuleThrottleEffects fxModuleNames = heatColor responseSpeed = 0.005 dependOnEngineState = True dependOnThrottle = True } MODULE { name = FXModuleThrottleEffects fxModuleNames = throttleColor responseSpeed = 1.0 dependOnEngineState = True dependOnThrottle = True } MODULE { name = ModuleColorChanger moduleID = heatColor animRate = 1 shaderProperty = _EmissiveColor excludedRenderer = MainsailEngineCore toggleInEditor = false toggleInFlight = false redCurve { key = 0 0 key = 1 1 } greenCurve { key = 0 0 key = 1 1 } blueCurve { key = 0 0 key = 1 1 } alphaCurve { key = 0 0 key = 1 1 } } MODULE { name = ModuleColorChanger moduleID = throttleColor animRate = 1 shaderProperty = _EmissiveColor includedRenderer = MainsailEngineCore toggleInEditor = false toggleInFlight = false redCurve { key = 0 0 key = 1 1 } greenCurve { key = 0 0 key = 1 1 } blueCurve { key = 0 0 key = 1 1 } alphaCurve { key = 0 0 key = 1 1 } } MODULE { name = ModulePartVariants baseVariant = Size2 VARIANT { name = Boattail displayName = #LOC_Restock_variant-engine_boattail primaryColor = #999999 secondaryColor = #000000 GAMEOBJECTS { Mainsail_Boattail = true Mainsail_25m = false Mainsail_Shroud = false Mainsail_Shroud_Compact = false Mainsail_Compact = false } } VARIANT { name = Size2 displayName = #LOC_Restock_variant-engine_size2 primaryColor = #000000 secondaryColor = #999999 GAMEOBJECTS { Mainsail_Boattail = false Mainsail_25m = true Mainsail_Shroud = true Mainsail_Shroud_Compact = false Mainsail_Compact = false } } VARIANT { name = Compact displayName = #LOC_Restock_variant-engine_compact primaryColor = #ffffff secondaryColor = #f69449 GAMEOBJECTS { Mainsail_Boattail = false Mainsail_25m = false Mainsail_Shroud = false Mainsail_Shroud_Compact = true Mainsail_Compact = true } } } @MODULE[ModuleJettison] { @jettisonName = Mainsail_Shroud,Mainsail_Shroud_Compact } } // Poodle @PART[liquidEngine2-2_v2] { @author = Chris Adderley (Nertea) and riocrokite %node_attach = 0.0, 0, 0.0, 0.0, 1.0, 0.0, 2 @attachRules = 1,1,1,0,0 !fx_exhaustFlame_blue_small = DELETE !fx_exhaustLight_blue = DELETE !fx_smokeTrail_light = DELETE !sound_vent_medium = DELETE !sound_rocket_hard = DELETE !sound_vent_soft = DELETE !sound_explosion_low = DELETE !MODEL {} MODEL { model = ReStock/Assets/Engine/restock-engine-poodle-1 position = 0.0, 0.0, 0.0 scale = 1,1,1 rotation = 0, 0, 0 } !EFFECTS {} EFFECTS { engage { AUDIO { channel = Ship clip = sound_vent_medium volume = 1.0 pitch = 1.0 loop = false } } flameout { PREFAB_PARTICLE { prefabName = fx_exhaustSparks_flameout_2 transformName = smokePoint oneShot = true } AUDIO { channel = Ship clip = sound_explosion_low volume = 1.0 pitch = 2.0 loop = false } } fx-poodle-running { AUDIO { channel = Ship clip = sound_rocket_hard volume = 0.0 0.0 volume = 1.0 1.0 pitch = 0.0 0.2 pitch = 1.0 1.0 loop = true } MODEL_MULTI_PARTICLE { name = plume modelName= ReStock/FX/restock-fx-poodle-plume-1 transformName = fxTransformPlume emission = 0.0 0.0 emission = 0.01 0.1 emission = 0.075 0.25 emission = 1.0 1.0 speed = 0.0 0.35 speed = 1.0 1.0 } MODEL_MULTI_PARTICLE { name = coreA modelName = ReStock/FX/restock-fx-poodle-core-1 transformName = fxTransformCore emission = 0.0 0.0 emission = 0.01 0.1 emission = 0.075 0.25 emission = 1.0 1.0 speed = 0.0 0.35 speed = 1.0 1.0 } PREFAB_PARTICLE { prefabName = fx_smokeTrail_veryLarge transformName = smokePoint emission = 0.0 0.0 emission = 0.05 0.0 emission = 0.075 0.25 emission = 1.0 1.25 speed = 0.0 0.25 speed = 1.0 1.0 localOffset = 0, 0, 1 } } } @MODULE[ModuleGimbal] { @gimbalTransformName = Poodle_Gimbal gimbalResponseSpeed = 8 useGimbalResponseSpeed = true } @MODULE[ModuleEngines] { @name = ModuleEnginesFX %runningEffectName = fx-poodle-running } !MODULE[FXModuleLookAtConstraint] {} MODULE { name = FXModuleLookAtConstraint // Basic CONSTRAINLOOKFX { targetName = P_Cyl_Lower001 rotatorsName = P_Cyl_Upper001 } CONSTRAINLOOKFX { targetName = P_Cyl_Lower002 rotatorsName = P_Cyl_Upper002 } CONSTRAINLOOKFX { targetName = P_Cyl_Lower003 rotatorsName = P_Cyl_Upper003 } CONSTRAINLOOKFX { targetName = P_Cyl_Lower004 rotatorsName = P_Cyl_Upper004 } CONSTRAINLOOKFX { targetName = P_Cyl_Upper001 rotatorsName =P_Cyl_Lower001 } CONSTRAINLOOKFX { targetName = P_Cyl_Upper002 rotatorsName = P_Cyl_Lower002 } CONSTRAINLOOKFX { targetName = P_Cyl_Upper003 rotatorsName = P_Cyl_Lower003 } CONSTRAINLOOKFX { targetName = P_Cyl_Upper004 rotatorsName = P_Cyl_Lower004 } // Compact CONSTRAINLOOKFX { targetName = P_CylCpt_Lower001 rotatorsName = P_CylCpt_Upper001 } CONSTRAINLOOKFX { targetName = P_CylCpt_Lower002 rotatorsName = P_CylCpt_Upper002 } CONSTRAINLOOKFX { targetName = P_CylCpt_Lower003 rotatorsName = P_CylCpt_Upper003 } CONSTRAINLOOKFX { targetName = P_CylCpt_Lower004 rotatorsName = P_CylCpt_Upper004 } CONSTRAINLOOKFX { targetName = P_CylCpt_Upper001 rotatorsName =P_CylCpt_Lower001 } CONSTRAINLOOKFX { targetName = P_CylCpt_Upper002 rotatorsName = P_CylCpt_Lower002 } CONSTRAINLOOKFX { targetName = P_CylCpt_Upper003 rotatorsName = P_CylCpt_Lower003 } CONSTRAINLOOKFX { targetName = P_CylCpt_Upper004 rotatorsName = P_CylCpt_Lower004 } } !MODULE[FXModuleAnimateThrottle] {} MODULE { name = FXModuleThrottleEffects fxModuleNames = heatColor responseSpeed = 0.005 dependOnEngineState = True dependOnThrottle = True } MODULE { name = FXModuleThrottleEffects fxModuleNames = throttleColor responseSpeed = 1.0 dependOnEngineState = True dependOnThrottle = True } MODULE { name = ModuleColorChanger moduleID = heatColor animRate = 1 shaderProperty = _EmissiveColor excludedRenderer = PoodleEngineCore toggleInEditor = false toggleInFlight = false redCurve { key = 0 0 key = 1 1 } greenCurve { key = 0 0 key = 1 1 } blueCurve { key = 0 0 key = 1 1 } alphaCurve { key = 0 0 key = 1 1 } } MODULE { name = ModuleColorChanger moduleID = throttleColor animRate = 1 shaderProperty = _EmissiveColor includedRenderer = PoodleEngineCore toggleInEditor = false toggleInFlight = false redCurve { key = 0 0 key = 1 1 } greenCurve { key = 0 0 key = 1 1 } blueCurve { key = 0 0 key = 1 1 } alphaCurve { key = 0 0 key = 1 1 } } @MODULE[ModuleJettison] { @jettisonName = Poodle_Shroud, Poodle_Shroud_Compact } MODULE { name = ModulePartVariants baseVariant = Size2 VARIANT { name = Size2 displayName = #LOC_Restock_variant-engine_size2 primaryColor = #000000 secondaryColor = #999999 GAMEOBJECTS { Poodle_25 = true Poodle_Compact = false P_Cyl_Lower001 = true P_Cyl_Lower002 = true P_Cyl_Lower003 = true P_Cyl_Lower004 = true P_CylCpt_Lower001 = false P_CylCpt_Lower002 = false P_CylCpt_Lower003 = false P_CylCpt_Lower004 = false } } VARIANT { name = Compact displayName = #LOC_Restock_variant-engine_compact primaryColor = #ffffff secondaryColor = #f69449 GAMEOBJECTS { Poodle_25 = false Poodle_Compact = true P_Cyl_Lower001 = false P_Cyl_Lower002 = false P_Cyl_Lower003 = false P_Cyl_Lower004 = false P_CylCpt_Lower001 = true P_CylCpt_Lower002 = true P_CylCpt_Lower003 = true P_CylCpt_Lower004 = true } } } } // Skipper @PART[engineLargeSkipper] { @author = Chris Adderley (Nertea) and riocrokite %node_attach = 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 2 @attachRules = 1,1,1,0,0 !fx_exhaustFlame_blue = 0.0, -2.2, 0.0, 0.0, 1.0, 0.0, running !fx_exhaustLight_blue = 0.0, -2.2, 0.0, 0.0, 0.0, 1.0, running !fx_smokeTrail_light = 0.0, -2.2, 0.0, 0.0, 1.0, 0.0, running !fx_exhaustSparks_flameout = 0.0, -2.2, 0.0, 0.0, 1.0, 0.0, flameout !sound_vent_medium = DELETE !sound_rocket_hard = DELETE !sound_vent_soft = DELETE !sound_explosion_low = DELETE !MODEL {} MODEL { model = ReStock/Assets/Engine/restock-engine-skipper-1 position = 0.0, 0.0, 0.0 scale = 1,1,1 rotation = 0, 0, 0 } !EFFECTS {} EFFECTS { engage { AUDIO { channel = Ship clip = sound_vent_medium volume = 1.0 pitch = 2.0 loop = false } } disengage { AUDIO { channel = Ship clip = sound_vent_soft volume = 1.0 pitch = 2.0 loop = false } } flameout { PREFAB_PARTICLE { prefabName = fx_exhaustSparks_flameout_2 transformName = smokePoint oneShot = true } AUDIO { channel = Ship clip = sound_explosion_low volume = 1.0 pitch = 2.0 loop = false } } fx-skipper-running { AUDIO { channel = Ship clip = sound_rocket_hard volume = 0.0 0.0 volume = 1.0 1.0 pitch = 0.0 0.2 pitch = 1.0 1.0 loop = true } MODEL_MULTI_PARTICLE { name = core modelName = ReStock/FX/restock-fx-skipper-core-1 transformName = fxTransformCore emission = 0.0 0.0 emission = 0.01 0.1 emission = 0.075 0.25 emission = 1.0 1.0 speed = 0.0 0.35 speed = 1.0 1.0 } MODEL_MULTI_PARTICLE { name = plume modelName = ReStock/FX/restock-fx-skipper-plume-1 transformName = fxTransformPlume emission = 0.0 0.0 emission = 0.01 0.1 emission = 0.075 0.25 emission = 1.0 1.0 speed = 0.0 0.35 speed = 1.0 1.0 } PREFAB_PARTICLE { prefabName = fx_smokeTrail_veryLarge transformName = smokePoint emission = 0.0 0.0 emission = 0.05 0.0 emission = 0.075 0.25 emission = 1.0 1.25 speed = 0.0 0.25 speed = 1.0 1.0 localOffset = 0, 0, 1 } } } @MODULE[ModuleGimbal] { @gimbalTransformName = Skipper_Gimbal gimbalResponseSpeed = 8 useGimbalResponseSpeed = true } @MODULE[ModuleEngines] { @name = ModuleEnginesFX %runningEffectName = fx-skipper-running } MODULE { name = FXModuleLookAtConstraint // Basic CONSTRAINLOOKFX { targetName = Actutator_Bottom001 rotatorsName = Actutator_Top001 } CONSTRAINLOOKFX { targetName = Actutator_Bottom002 rotatorsName = Actutator_Top002 } CONSTRAINLOOKFX { targetName = Actutator_Bottom001 rotatorsName = Actutator_Top003 } CONSTRAINLOOKFX { targetName = Actutator_Bottom002 rotatorsName = Actutator_Top004 } CONSTRAINLOOKFX { targetName = Actutator_Top001 rotatorsName = Actutator_Bottom001 } CONSTRAINLOOKFX { targetName = Actutator_Top002 rotatorsName = Actutator_Bottom002 } CONSTRAINLOOKFX { targetName = ActutatorCpt_Bottom001 rotatorsName =ActutatorCpt_Top001 } CONSTRAINLOOKFX { targetName = ActutatorCpt_Bottom002 rotatorsName = ActutatorCpt_Top002 } CONSTRAINLOOKFX { targetName = ActutatorCpt_Top001 rotatorsName = ActutatorCpt_Bottom001 } CONSTRAINLOOKFX { targetName = ActutatorCpt_Top002 rotatorsName = ActutatorCpt_Bottom002 } } !MODULE[FXModuleAnimateThrottle] {} MODULE { name = FXModuleThrottleEffects fxModuleNames = heatColor responseSpeed = 0.005 dependOnEngineState = True dependOnThrottle = True } MODULE { name = FXModuleThrottleEffects fxModuleNames = throttleColor responseSpeed = 1.0 dependOnEngineState = True dependOnThrottle = True } MODULE { name = ModuleColorChanger moduleID = heatColor animRate = 1 shaderProperty = _EmissiveColor excludedRenderer = SkipperEngineCore toggleInEditor = false toggleInFlight = false redCurve { key = 0 0 key = 1 1 } greenCurve { key = 0 0 key = 1 1 } blueCurve { key = 0 0 key = 1 1 } alphaCurve { key = 0 0 key = 1 1 } } MODULE { name = ModuleColorChanger moduleID = throttleColor animRate = 1 shaderProperty = _EmissiveColor includedRenderer = SkipperEngineCore toggleInEditor = false toggleInFlight = false redCurve { key = 0 0 key = 1 1 } greenCurve { key = 0 0 key = 1 1 } blueCurve { key = 0 0 key = 1 1 } alphaCurve { key = 0 0 key = 1 1 } } MODULE { name = ModulePartVariants baseVariant = Size2 VARIANT { name = Boattail displayName = #LOC_Restock_variant-engine_boattail primaryColor = #999999 secondaryColor = #000000 GAMEOBJECTS { ActutatorCpt_Bottom001 = false ActutatorCpt_Bottom002 = false Actutator_Bottom001 = true Actutator_Bottom002 = true Skipper_GimbalMount = true Skipper_GimbalMountCompact = false Skipper_Compact = false Skipper_Boattail = true Skipper_25m = false Skipper_Shroud = false Skipper_Shroud_Compact = false } } VARIANT { name = Size2 displayName = #LOC_Restock_variant-engine_size2 primaryColor = #000000 secondaryColor = #999999 GAMEOBJECTS { ActutatorCpt_Bottom001 = false ActutatorCpt_Bottom002 = false Actutator_Bottom001 = true Actutator_Bottom002 = true Skipper_GimbalMount = true Skipper_GimbalMountCompact = false Skipper_Compact = false Skipper_Boattail = false Skipper_25m = true Skipper_Shroud = true Skipper_Shroud_Compact = false } } VARIANT { name = Compact displayName = #LOC_Restock_variant-engine_compact primaryColor = #ffffff secondaryColor = #f69449 GAMEOBJECTS { ActutatorCpt_Bottom001 = true ActutatorCpt_Bottom002 = true Actutator_Bottom001 = false Actutator_Bottom002 = false Skipper_GimbalMount = false Skipper_GimbalMountCompact = true Skipper_Compact = true Skipper_Boattail = false Skipper_25m = false Skipper_Shroud = false Skipper_Shroud_Compact = true } } } @MODULE[ModuleJettison] { @jettisonName = Skipper_Shroud,Skipper_Shroud_Compact } } // Twin Boar @PART[Size2LFB] { @author = Chris Adderley (Nertea) !mesh = DELETE !MODEL {} MODEL { model = ReStock/Assets/Engine/restock-engine-twinboar-1 } MODEL { model = ReStock/Assets/FuelTank/restock-endcap-fueltank-25-orange position = 0.0, 4.356, 0.0 scale = 1,1,1 rotation = 0, 0, 0 } !EFFECTS {} EFFECTS { engage { AUDIO { channel = Ship clip = sound_vent_soft volume = 1.0 pitch = 2.0 loop = false } } flameout { PREFAB_PARTICLE { prefabName = fx_exhaustSparks_flameout_2 transformName = smokePoint oneShot = true } AUDIO { channel = Ship clip = sound_explosion_low volume = 1.0 pitch = 2.0 loop = false } } fx-twinboar-running { AUDIO { channel = Ship clip = sound_rocket_spurts volume = 0.0 0.0 volume = 1.0 1.0 pitch = 0.0 0.2 pitch = 1.0 1.0 loop = true } MODEL_MULTI_PARTICLE { name = core modelName = ReStock/FX/restock-fx-boar-core-1 transformName = fxTransformCore emission = 0.0 0.0 emission = 0.01 0.1 emission = 0.075 0.25 emission = 1.0 1.0 speed = 0.0 0.35 speed = 1.0 1.0 } MODEL_MULTI_PARTICLE { name = plume modelName = ReStock/FX/restock-fx-boar-plume-1 transformName = fxTransformPlume emission = 0.0 0.0 emission = 0.01 0.1 emission = 0.075 0.25 emission = 1.0 1.0 speed = 0.0 0.35 speed = 1.0 1.0 } MODEL_MULTI_PARTICLE { name = turbo modelName = ReStock/FX/restock-fx-boar-turbo-1 transformName = fxTransformTurbo emission = 0.0 0.0 emission = 0.01 0.1 emission = 0.075 0.25 emission = 1.0 1.0 speed = 0.0 0.35 speed = 1.0 1.0 } PREFAB_PARTICLE { prefabName = fx_smokeTrail_veryLarge transformName = smokePoint emission = 0.0 0.0 emission = 0.05 0.0 emission = 0.075 0.25 emission = 1.0 1.25 speed = 0.0 0.25 speed = 1.0 1.0 localOffset = 0, 0, 1 } } } @MODULE[ModuleGimbal] { @gimbalTransformName = B_Gimbal gimbalResponseSpeed = 8 useGimbalResponseSpeed = true } @MODULE[ModuleEnginesFX] { @runningEffectName = fx-twinboar-running } MODULE { name = FXModuleLookAtConstraint // Basic CONSTRAINLOOKFX { targetName = CylTop005 rotatorsName = CylBot005 } CONSTRAINLOOKFX { targetName = CylTop006 rotatorsName = CylBot006 } CONSTRAINLOOKFX { targetName = CylTop007 rotatorsName = CylBot007 } CONSTRAINLOOKFX { targetName = CylTop008 rotatorsName = CylBot008 } CONSTRAINLOOKFX { targetName = CylBot005 rotatorsName =CylTop005 } CONSTRAINLOOKFX { targetName = CylBot006 rotatorsName = CylTop006 } CONSTRAINLOOKFX { targetName = CylBot007 rotatorsName = CylTop007 } CONSTRAINLOOKFX { targetName = CylBot008 rotatorsName = CylTop008 } } !MODULE[FXModuleAnimateThrottle] {} MODULE { name = FXModuleThrottleEffects fxModuleNames = heatColor responseSpeed = 0.005 dependOnEngineState = True dependOnThrottle = True } MODULE { name = FXModuleThrottleEffects fxModuleNames = throttleColor responseSpeed = 1.0 dependOnEngineState = True dependOnThrottle = True } MODULE { name = ModuleColorChanger moduleID = heatColor animRate = 1 shaderProperty = _EmissiveColor excludedRenderer = EngineCore toggleInEditor = false toggleInFlight = false redCurve { key = 0 0 key = 1 1 } greenCurve { key = 0 0 key = 1 1 } blueCurve { key = 0 0 key = 1 1 } alphaCurve { key = 0 0 key = 1 1 } } MODULE { name = ModuleColorChanger moduleID = throttleColor animRate = 1 shaderProperty = _EmissiveColor includedRenderer = EngineCore toggleInEditor = false toggleInFlight = false redCurve { key = 0 0 key = 1 1 } greenCurve { key = 0 0 key = 1 1 } blueCurve { key = 0 0 key = 1 1 } alphaCurve { key = 0 0 key = 1 1 } } }