Announcement

Collapse
No announcement yet.

Things broken since Feb: Pause Menu, Mobile Placeable Pawn

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • replied
    Yeah the device orientation is important, but i figured most users would be playing in an upright position, but that said the dead zones can be tweaked to what ever you want with more conditions.

    It's strange how easy it can become when you can see inside a nodes inner workings, its a shame all kismet nodes are native so we can't see how they work, but most things are able to be worked around.

    I wanted the gyroscope node to be an all in one drag and drop tilting player controller for kismet, with all the settings configurable within the node itself, with face rotation being an option to enable/disable, but hey I haven't had the time and i'm in full production on a work project at the minute. But i'm glad its inspired you to try and implement your own features, gravity would be an interesting one.

    If I get the chance I will overhaul it, add the new features and make it less of a hack, if it gets done it will sure beat the very long kismet sequences needed to achieve this. And hopefully it will come in handy for others.

    Leave a comment:


  • replied
    Nice.

    So far I quickly tried this in the Dec UDK and noticed that it appears to work when the screen is perpendicular to the ground. I'd like to see if I can make this work with the screen facing upward as it seems like a simpler piece of script than the kismet I've been using. Ideally, it'd also rotate the pawn in the proper direction too Haven't had time to mess with it yet, but I'm curious about making this work with some concept of gravity as well; something I currently hack in with a trace and -z velocity.

    The pause issue seemed to have more to do with the Feb UDK. I've been back on Dec just so I could be productive, having wiped every other UDK off of my system.

    Leave a comment:


  • replied
    @Graveljaw try this out using the JazzMiniGame as a test at first, The controls may not be exactly what your looking for..but its a basic model WIP and I haven't had time to optimize it at all, I need to know if it still becomes unresponsive on your system.

    You need to paste the code below into a text file and save it as SeqEvent_GyroscopeController.uc and place it in Development/src/gameframework/classes folder and do a full recompile.

    Code:
    class SeqEvent_GyroscopeController extends SeqEvent_MobileMotion;
    
    var float Forwards_And_Backwards, Left_And_Right, Up_And_Down; 
    var() float	DeadZoneLeft;
    var() float	DeadZoneRight;
    var() float	DeadZoneForwards;
    var() float	DeadZoneBackwards;
    var() float	DeadZoneCenter;
    
    event Activated()
    {
    	local WorldInfo WorldInfo;
    	local PlayerController PlayerController;
    	local LocalPlayer LocalPlayer;
    	local Vector MobileAccel;
    	local MobilePlayerInput MPI;
    
    	Super.Activated();
    
    	WorldInfo = class'WorldInfo'.static.GetWorldInfo();
    	if (WorldInfo != None)
    	{
    		PlayerController = WorldInfo.GetALocalPlayerController();
    		if (PlayerController != None)
    		{
    			MPI = MobilePlayerInput(PlayerController.PlayerInput);
    			LocalPlayer = LocalPlayer(PlayerController.Player);
    
    			if (LocalPlayer != None && MPI != None)
    			{
    				if (MPI.aTilt.Z < DeadZoneLeft)
    				{
    					MobileAccel.Y = MPI.aTilt.Z;
    				}
    			else
    			if (MPI.aTilt.Z > DeadZoneRight)
    				{
    					MobileAccel.Y = MPI.aTilt.Z;
    
    				}
    
    			if (MPI.aTilt.X < DeadZoneForwards)
    				{
    					MobileAccel.X = MPI.aTilt.X;
    					
    				}else
    			if (MPI.aTilt.X > DeadZoneBackwards)
    				{
    					MobileAccel.X = MPI.aTilt.X -MPI.aTilt.X *2;
    				}
    
    			if (MPI.aTilt.X < DeadZoneCenter)
    				{
    					MobileAccel.X = 0;	
    				}
    		
    				MobileAccel.Z = 0;
    
    				Forwards_And_Backwards = MobileAccel.X;
    				Left_And_Right = MobileAccel.Y;
    				Up_And_Down = MobileAccel.Z;
    			}
    		}
    	}
    
    }
    
    defaultproperties
    {
    	ObjName="Mobile Gyroscope Controller [New]"
    	ObjCategory="Input"
    	DeadZoneLeft=-2000.0f
    	DeadZoneRight=2000.0f
    	DeadZoneForwards=9000.0f
    	DeadZoneBackwards=13000.0f
    	DeadZoneCenter=1000.0f
    
    	OutputLinks(0)=(LinkDesc="Input Active")
    	VariableLinks.Empty
    	VariableLinks(0)=(ExpectedType=class'SeqVar_Float',LinkDesc="Forwards_And_Backwards",bWriteable=false,PropertyName=Forwards_And_Backwards)
    	VariableLinks(1)=(ExpectedType=class'SeqVar_Float',LinkDesc="Left_And_Right",bWriteable=false,PropertyName=Left_And_Right)
    }
    Once compiled open UDK, load JazzMiniGame map, in kismet copy and paste the code below: (Note:the new node can also be found in event->input),Also Disable the Mobile Look Node on the Movement part in kismet.

    Code:
    Begin Object Class=SequenceFrame Name=SequenceFrame_31
       SizeX=1110
       SizeY=451
       bDrawBox=True
       ObjInstanceVersion=1
       ParentSequence=Sequence'Main_Sequence'
       ObjPosX=616
       ObjPosY=5752
       ObjComment="GyroscopeControls"
       DrawWidth=1110
       DrawHeight=451
       Name="SequenceFrame_31"
       ObjectArchetype=SequenceFrame'Engine.Default__SequenceFrame'
    End Object
    Begin Object Class=SeqVar_Object Name=SeqVar_Object_15
       ObjValue=MobilePlaceablePawn'MobilePlaceablePawn_1'
       VarName="Pawn"
       ObjInstanceVersion=1
       ParentSequence=Sequence'Main_Sequence'
       ObjPosX=1376
       ObjPosY=5952
       ObjComment="Jazz Character"
       DrawWidth=32
       DrawHeight=32
       Name="SeqVar_Object_15"
       ObjectArchetype=SeqVar_Object'Engine.Default__SeqVar_Object'
    End Object
    Begin Object Class=SeqAct_SetVectorComponents Name=SeqAct_SetVectorComponents_1
       InputLinks(0)=(DrawY=5882,OverrideDelta=11)
       OutputLinks(0)=(Links=((LinkedOp=SeqAct_SetVelocity'SeqAct_SetVelocity_1')),DrawY=5882,OverrideDelta=11)
       VariableLinks(0)=(LinkedVariables=(SeqVar_Vector'SeqVar_Vector_2'),DrawX=1169,OverrideDelta=97)
       VariableLinks(1)=(LinkedVariables=(SeqVar_Named'SeqVar_Named_114'),DrawX=1074,OverrideDelta=22)
       VariableLinks(2)=(LinkedVariables=(SeqVar_Named'SeqVar_Named_116'),DrawX=1099,OverrideDelta=47)
       VariableLinks(3)=(LinkedVariables=(SeqVar_Float'SeqVar_Float_40'),DrawX=1124,OverrideDelta=72)
       ObjInstanceVersion=1
       ParentSequence=Sequence'Main_Sequence'
       ObjPosX=1048
       ObjPosY=5848
       DrawWidth=168
       DrawHeight=77
       Name="SeqAct_SetVectorComponents_1"
       ObjectArchetype=SeqAct_SetVectorComponents'Engine.Default__SeqAct_SetVectorComponents'
    End Object
    Begin Object Class=SeqAct_SetVelocity Name=SeqAct_SetVelocity_1
       InputLinks(0)=(DrawY=5882,OverrideDelta=11)
       OutputLinks(0)=(DrawY=5882,OverrideDelta=11)
       VariableLinks(0)=(LinkedVariables=(SeqVar_Object'SeqVar_Object_15'),DrawX=1478,OverrideDelta=16)
       VariableLinks(1)=(LinkedVariables=(SeqVar_Named'SeqVar_Named_92'),DrawX=1542,OverrideDelta=76)
       VariableLinks(2)=(LinkedVariables=(SeqVar_Float'SeqVar_Float_0'),DrawX=1611,OverrideDelta=145)
       ObjInstanceVersion=1
       ParentSequence=Sequence'Main_Sequence'
       ObjPosX=1440
       ObjPosY=5848
       DrawWidth=214
       DrawHeight=77
       Name="SeqAct_SetVelocity_1"
       ObjectArchetype=SeqAct_SetVelocity'Engine.Default__SeqAct_SetVelocity'
    End Object
    Begin Object Class=SeqVar_Named Name=SeqVar_Named_114
       ExpectedType=Class'Engine.SeqVar_Float'
       FindVarName="Forwards_Backwards"
       ObjInstanceVersion=1
       ParentSequence=Sequence'Main_Sequence'
       ObjPosX=1088
       ObjPosY=6024
       ObjColor=(B=255,G=0,R=0,A=255)
       DrawWidth=32
       DrawHeight=32
       Name="SeqVar_Named_114"
       ObjectArchetype=SeqVar_Named'Engine.Default__SeqVar_Named'
    End Object
    Begin Object Class=SeqVar_Named Name=SeqVar_Named_116
       ExpectedType=Class'Engine.SeqVar_Float'
       FindVarName="Left_Right"
       ObjInstanceVersion=1
       ParentSequence=Sequence'Main_Sequence'
       ObjPosX=1144
       ObjPosY=6064
       ObjColor=(B=255,G=0,R=0,A=255)
       DrawWidth=32
       DrawHeight=32
       Name="SeqVar_Named_116"
       ObjectArchetype=SeqVar_Named'Engine.Default__SeqVar_Named'
    End Object
    Begin Object Class=SeqVar_Float Name=SeqVar_Float_40
       ObjInstanceVersion=1
       ParentSequence=Sequence'Main_Sequence'
       ObjPosX=1192
       ObjPosY=6112
       DrawWidth=32
       DrawHeight=32
       Name="SeqVar_Float_40"
       ObjectArchetype=SeqVar_Float'Engine.Default__SeqVar_Float'
    End Object
    Begin Object Class=SeqVar_Vector Name=SeqVar_Vector_2
       VarName="VelocityDir"
       ObjInstanceVersion=1
       ParentSequence=Sequence'Main_Sequence'
       ObjPosX=1016
       ObjPosY=5944
       DrawWidth=32
       DrawHeight=32
       Name="SeqVar_Vector_2"
       ObjectArchetype=SeqVar_Vector'Engine.Default__SeqVar_Vector'
    End Object
    Begin Object Class=SeqVar_Named Name=SeqVar_Named_92
       ExpectedType=Class'Engine.SeqVar_Vector'
       FindVarName="VelocityDir"
       ObjInstanceVersion=1
       ParentSequence=Sequence'Main_Sequence'
       ObjPosX=1520
       ObjPosY=5944
       ObjColor=(B=0,G=128,R=128,A=255)
       DrawWidth=32
       DrawHeight=32
       Name="SeqVar_Named_92"
       ObjectArchetype=SeqVar_Named'Engine.Default__SeqVar_Named'
    End Object
    Begin Object Class=SeqVar_Float Name=SeqVar_Float_25
       VarName="Forwards_Backwards"
       ObjInstanceVersion=1
       ParentSequence=Sequence'Main_Sequence'
       ObjPosX=672
       ObjPosY=5984
       bOutputObjCommentToScreen=True
       DrawWidth=32
       DrawHeight=32
       Name="SeqVar_Float_25"
       ObjectArchetype=SeqVar_Float'Engine.Default__SeqVar_Float'
    End Object
    Begin Object Class=SeqVar_Float Name=SeqVar_Float_24
       VarName="Left_Right"
       ObjInstanceVersion=1
       ParentSequence=Sequence'Main_Sequence'
       ObjPosX=808
       ObjPosY=5984
       bOutputObjCommentToScreen=True
       DrawWidth=32
       DrawHeight=32
       Name="SeqVar_Float_24"
       ObjectArchetype=SeqVar_Float'Engine.Default__SeqVar_Float'
    End Object
    Begin Object Class=SeqVar_Float Name=SeqVar_Float_0
       VarName="Velocity"
       ObjInstanceVersion=1
       ParentSequence=Sequence'Main_Sequence'
       ObjPosX=1616
       ObjPosY=5944
       DrawWidth=32
       DrawHeight=32
       Name="SeqVar_Float_0"
       ObjectArchetype=SeqVar_Float'Engine.Default__SeqVar_Float'
    End Object
    Begin Object Class=SeqEvent_GyroscopeController Name=SeqEvent_GyroscopeController_1
       MaxWidth=238
       OutputLinks(0)=(Links=((LinkedOp=SeqAct_SetVectorComponents'SeqAct_SetVectorComponents_1')),DrawY=5850,OverrideDelta=11)
       VariableLinks(0)=(LinkedVariables=(SeqVar_Float'SeqVar_Float_25'),DrawX=757,OverrideDelta=26)
       VariableLinks(1)=(LinkedVariables=(SeqVar_Float'SeqVar_Float_24'),DrawX=858,OverrideDelta=145)
       ObjInstanceVersion=2
       ParentSequence=Sequence'Main_Sequence'
       ObjPosX=680
       ObjPosY=5784
       DrawWidth=168
       DrawHeight=144
       Name="SeqEvent_GyroscopeController_1"
       ObjectArchetype=SeqEvent_GyroscopeController'GameFramework.Default__SeqEvent_GyroscopeController'
    End Object
    Now test it using the mobile previewer...

    The DeadZones are adjustable in the GyroscopeController Properties, basically the DeadZones are amounts you need to exceed when tilting the device to travel in that direction.

    let me know how this goes and if it works, I know its a long way round but you need to test this to help figure out whats wrong with the Mobile Motion Access, although Mobile Motion Access still works fine at my end, it might be the setup thats changed but i'm no kismet expert to be honest?

    I'm still not sure what problem your having with pause, maybe you can elaborate further.

    Leave a comment:


  • replied
    @IamDouglas, 2 separate issues, but here it goes.

    Kismet - Tilt controlled Mobile Placeable Pawn:
    This only happens on the device and NOT in the previewer...I'd been using the placeable pawn, setup based on Epic's example in which the pawn is controlled by the tilting the device. With anything after the Feb UDK, the pawn will work for a short while (~ 5-10 seconds) before it just gets stuck in a particular direction and the app becomes very unresponsive and difficult to close. This also happens with a fresh install and deploy of the basic Jazz demo (thumb controlled). You can play for a few seconds before the pawn will just go in a single direction. The input gets unresponsive and the app is difficult to exit. - this is why I believe its in the pawn, not the mobile motion access.

    The pause input might be specific to Feb UDK as I did not notice this in any of the later UDKs.

    If it helps, I'd been using the Dec UDK for quite some time and its the last time I've been able to use the tilt controls with the mobile placeable pawn. Has there been any significant changes to any of these areas? Pawn, (tilt control) Haven't had much luck finding any relevant documentation.

    Leave a comment:


  • replied
    @Graveljaw, what exactly are the problems your having with Mobile placeable Pawn and the pause Menu? and for the record I don't think many users go from UDK to Unity, I don't think I could say the same the other way around.

    @XilenceX, Dynamic shadows have always worked, the trouble is many users don't know UDKs lighting system and settings very well, so when dynamic shadows are skipping around and looking ugly or not even visible they say its broken....there's many settings in ini configs and each light has properties that control dynamic shadows, shadow influence and many more things that contribute to the overall dynamic shadow direction, plus certain lights like dominant directional lights break dynamic shadows on mobile.

    Leave a comment:


  • replied
    Originally posted by Graveljaw View Post
    So far, noone has been able to help. Has everyone moved to Unity or something for iOS?
    Uhm no what should be wrong with the Mobile Pawn mine seemed to work like a charm? Then again I only used it to control the camera so the issue must be elsewhere. The broken dynamic shadows and the missing step in the UDN certification docs ****** me off... but I guess worse things can happen.

    Leave a comment:


  • Things broken since Feb: Pause Menu, Mobile Placeable Pawn

    Anyone have any idea when Epic is going to fix these issues? I've been forced back to the Dec UDK in order to ship.

    If anyone has any insight, I'd greatly appreciate it.

    So far, noone has been able to help. Has everyone moved to Unity or something for iOS?
Working...
X