I'm having a strange issue when using an AmbientSoundSimpleToggleable attached to an InterpActor. I have a sound and an object that needs to become visible/audible at a certain point in the level. The problem is that a Toggle Hidden action in kismet appears to disable the ambient sound.
To reproduce, create an InterpActor and an AmbientSoundSimpleToggleable. Set the InterpActor to be the base of the AmbientSound and set Auto Play to false. Create a kismet sequence that toggles the sound on at level load. Create a toggle hidden with the InterpActor as the target and Toggle Based Actors checked. Create a Matinee or a delay or something to call the UnHide input at a later time. This will cause the sound to play on level load, then stop playing when the actor becomes visible.
Here is a snippet of the kismet sequence I used:
Some notes about this:
1. If the sound is set to autoplay, it won't get disabled on unhide, but at times it seems to change the volume level of the sound, although this could just be my ears playing tricks on me.
2. It does not matter what is called, hide, unhide, toggle, they all turn the sound off if it's previous state was toggled on.
3. It does not ever seem to toggle the sound on if the previous state was off.
The work around for me is just to call a toggle on the sound after the unhide, but I'm sure this won't work for every situation.
We are using UDK-2011-06, Engine version 8623, Changelist 935754. I've been able to reproduce this problem within the template levels.
To reproduce, create an InterpActor and an AmbientSoundSimpleToggleable. Set the InterpActor to be the base of the AmbientSound and set Auto Play to false. Create a kismet sequence that toggles the sound on at level load. Create a toggle hidden with the InterpActor as the target and Toggle Based Actors checked. Create a Matinee or a delay or something to call the UnHide input at a later time. This will cause the sound to play on level load, then stop playing when the actor becomes visible.
Here is a snippet of the kismet sequence I used:
Code:
Begin Object Class=SeqAct_ToggleHidden Name=SeqAct_ToggleHidden_0 bToggleBasedActors=True InputLinks(0)=(DrawY=117,OverrideDelta=14) InputLinks(1)=(DrawY=138,OverrideDelta=35) InputLinks(2)=(DrawY=159,OverrideDelta=56) OutputLinks(0)=(DrawY=138,OverrideDelta=35) VariableLinks(0)=(LinkedVariables=(SeqVar_Object'SeqVar_Object_31'),DrawX=774,OverrideDelta=16) VariableLinks(1)=(DrawX=825,OverrideDelta=76) EventLinks(0)=(DrawX=874,OverrideDelta=119) ObjInstanceVersion=1 ParentSequence=Sequence'Main_Sequence' ObjPosX=736 ObjPosY=80 DrawWidth=173 DrawHeight=109 Name="SeqAct_ToggleHidden_0" ObjectArchetype=SeqAct_ToggleHidden'Engine.Default__SeqAct_ToggleHidden' End Object Begin Object Class=SeqVar_Object Name=SeqVar_Object_30 ObjValue=AmbientSoundSimpleToggleable'AmbientSoundSimpleToggleable_10' ObjInstanceVersion=1 ParentSequence=Sequence'Main_Sequence' ObjPosX=472 ObjPosY=560 DrawWidth=32 DrawHeight=32 Name="SeqVar_Object_30" ObjectArchetype=SeqVar_Object'Engine.Default__SeqVar_Object' End Object Begin Object Class=SeqEvent_LevelLoaded Name=SeqEvent_LevelLoaded_2 MaxWidth=136 OutputLinks(0)=(Links=((LinkedOp=SeqAct_Interp'SeqAct_Interp_0'),(LinkedOp=SeqAct_Toggle'SeqAct_Toggle_4')),DrawY=269,OverrideDelta=14) OutputLinks(1)=(DrawY=290,OverrideDelta=35) OutputLinks(2)=(DrawY=311,OverrideDelta=56) ObjInstanceVersion=3 ParentSequence=Sequence'Main_Sequence' ObjPosX=72 ObjPosY=200 DrawWidth=137 Name="SeqEvent_LevelLoaded_2" ObjectArchetype=SeqEvent_LevelLoaded'Engine.Default__SeqEvent_LevelLoaded' End Object Begin Object Class=SeqAct_Toggle Name=SeqAct_Toggle_4 InputLinks(0)=(DrawY=453,OverrideDelta=14) InputLinks(1)=(DrawY=474,OverrideDelta=35) InputLinks(2)=(DrawY=495,OverrideDelta=56) OutputLinks(0)=(DrawY=474,OverrideDelta=35) VariableLinks(0)=(LinkedVariables=(SeqVar_Object'SeqVar_Object_30'),DrawX=526,OverrideDelta=16) VariableLinks(1)=(DrawX=577,OverrideDelta=76) EventLinks(0)=(DrawX=626,OverrideDelta=119) ObjInstanceVersion=1 ParentSequence=Sequence'Main_Sequence' ObjPosX=488 ObjPosY=416 DrawWidth=173 DrawHeight=109 Name="SeqAct_Toggle_4" ObjectArchetype=SeqAct_Toggle'Engine.Default__SeqAct_Toggle' End Object Begin Object Class=SeqAct_Interp Name=SeqAct_Interp_0 InputLinks(0)=(DrawY=118,OverrideDelta=15) InputLinks(1)=(DrawY=140,OverrideDelta=37) InputLinks(2)=(DrawY=162,OverrideDelta=59) InputLinks(3)=(DrawY=184,OverrideDelta=81) InputLinks(4)=(DrawY=206,OverrideDelta=103) OutputLinks(0)=(DrawY=125,OverrideDelta=22) OutputLinks(1)=(DrawY=162,OverrideDelta=59) OutputLinks(2)=(Links=((LinkedOp=SeqAct_ToggleHidden'SeqAct_ToggleHidden_0',InputLinkIdx=1)),LinkDesc="Unhide",DrawY=199,OverrideDelta=96) VariableLinks(0)=(LinkedVariables=(InterpData'InterpData_1'),DrawX=523,OverrideDelta=20) VariableLinks(1)=(ExpectedType=Class'Engine.SeqVar_Object',LinkDesc="NewGroup",MinVars=0,DrawX=588,OverrideDelta=67) ObjInstanceVersion=2 ParentSequence=Sequence'Main_Sequence' ObjPosX=488 ObjPosY=80 DrawWidth=154 DrawHeight=157 Name="SeqAct_Interp_0" ObjectArchetype=SeqAct_Interp'Engine.Default__SeqAct_Interp' End Object Begin Object Class=InterpData Name=InterpData_1 Begin Object Class=InterpGroup Name=InterpGroup_0 Begin Object Class=InterpTrackEvent Name=InterpTrackEvent_0 EventTrack(0)=(Time=3.000590,EventName="Unhide") Name="InterpTrackEvent_0" ObjectArchetype=InterpTrackEvent'Engine.Default__InterpTrackEvent' End Object InterpTracks(0)=InterpTrackEvent'InterpTrackEvent_0' GroupName="NewGroup" GroupColor=(B=190,G=0,R=147,A=255) Name="InterpGroup_0" ObjectArchetype=InterpGroup'Engine.Default__InterpGroup' End Object Begin Object Class=InterpCurveEdSetup Name=InterpCurveEdSetup_2 Name="InterpCurveEdSetup_2" ObjectArchetype=InterpCurveEdSetup'Engine.Default__InterpCurveEdSetup' End Object InterpGroups(0)=InterpGroup'InterpGroup_0' CurveEdSetup=InterpCurveEdSetup'InterpCurveEdSetup_2' SelectedFilter=InterpFilter'Engine.Default__InterpData:FilterAll' ObjInstanceVersion=1 ParentSequence=Sequence'Main_Sequence' ObjPosX=488 ObjPosY=280 DrawWidth=32 DrawHeight=32 Name="InterpData_1" ObjectArchetype=InterpData'Engine.Default__InterpData' End Object Begin Object Class=SeqVar_Object Name=SeqVar_Object_31 ObjValue=InterpActor'InterpActor_0' ObjInstanceVersion=1 ParentSequence=Sequence'Main_Sequence' ObjPosX=744 ObjPosY=224 DrawWidth=32 DrawHeight=32 Name="SeqVar_Object_31" ObjectArchetype=SeqVar_Object'Engine.Default__SeqVar_Object' End Object Begin Object Class=SequenceFrameWrapped Name=SequenceFrameWrapped_0 SizeX=541 SizeY=384 ObjInstanceVersion=1 ParentSequence=Sequence'Main_Sequence' ObjPosX=424 ObjPosY=16 ObjComment="After 3 seconds, this will unhide the box and all of its children. AmbientSoundSimpleToggleable_10 gets turned off when this happens. This does not happen if it's set to Auto Play" Name="SequenceFrameWrapped_0" ObjectArchetype=SequenceFrameWrapped'Engine.Default__SequenceFrameWrapped' End Object
1. If the sound is set to autoplay, it won't get disabled on unhide, but at times it seems to change the volume level of the sound, although this could just be my ears playing tricks on me.
2. It does not matter what is called, hide, unhide, toggle, they all turn the sound off if it's previous state was toggled on.
3. It does not ever seem to toggle the sound on if the previous state was off.
The work around for me is just to call a toggle on the sound after the unhide, but I'm sure this won't work for every situation.
We are using UDK-2011-06, Engine version 8623, Changelist 935754. I've been able to reproduce this problem within the template levels.