You're welcome people. I'll keep improving the documentation of the wiki, and updating the first post with playable levels. Btw, my first decent full game has been released for iOS devices for FREE! So I hope you give it a try; go HERE or THERE for more info. Matinee can only be used to animate the camera, disabling the controls is optional. You can animate a CameraInfo with Matinee and activate it when exactly needed. The orientation of the "Player" object determines the controls, use my "Set Rotation" Kismet node and enable the "Target Is Controller" checkbox. That's more complex, yeah. You could attach a snowboard mesh to a socket of the character, force a looping animation for the character ("Start Animation" Kismet) and use several ForceVolumes to constantly push the player.
Seriously, this engine is amazing. The game controls really well, even with just a controller. This is surprising because in other 3D Sonic fan engines, the controls are like a butter stick on ice (eg. the hundreds of Blitz Sonic edits) . It's well done, stable, but it's a shame not too many people use it as it could be used. I give you some serious props for saying that you don't recommend people to use rips for this. That by itself is a very high percentage of stage mods in general. It was only a matter of time before everyone ripped everything out of, well, everything. It's nice to see this engine getting quality original content. Hopefully the pacing keeps up and this thing gets the recognition it deserves. I suppose that the reason that not as much people use this as it should is because of Generations modding. Most people would rather do something in Generations where they are more likely to get hits than in GDK. Also, they wouldn't have to worry about making Badniks. Really, I prefer this over Generations in a few ways; the camera and physics allow for much more open levels.
New SonicGDK version is up, it only includes bug fixes due to SAGE (fixes for special stage, save slot #3, and BumperActor), thanks for reporting them. Source Code Patch (1.20.066 to 1.20.072): LINK Source Code Full (requires UDK July 2013): LINK [hr] Anybody here has a Mac? Could you please test THIS?
I recorded a short video detailing how to make one way collision platforms for Sonic GDK. I hope you can forgive my slightly nervous disposition, it's the first time I've recorded something like this! I know there are a few ways to do this, but this is the way I do it
I skipped around the tutorial, you didn't sound nervous one bit. ( well from what I saw anyways ) I wanted to make some tutorials but lack the time. Got a lot of nice stuff that could be shared although a few of the tuts would probably take 2 hours or more to watch ,like some advanced sprite badnik setup complete with AI threw kismet, also advanced materials. Anyhow I'm glad to see someone is making Tuts for all the SGDK users out there. Keep up the good work and Support SGDK ! its a great engine , but people may be overwhelmed with all that can be done. and get scared away because they don't know where to start.
I know that's why I didn't bother with it. It's too much all at once and I just didn't feel like breaking it down.
Yeah, there is a tonne of things to learn and when you just start it is bewildering. I thought these niche issues, like one way collision, would be good to document because the solution can then be applied to other problems. In the case of that video, knowing how to attach actors together is crucial for SGDK, and I know I was utterly lost before I learned about it. It makes me chuckle when I remember trying to make a spike pillar move without attaching everything together (there were about 4 actors). It was a mess! There is so much you can do a tutorials for. I'm still learning myself, so there's not much I'm entirely confident in trying to teach, in case it's wrong.
I'm sorry for the double post. While I was searching for something unrelated, I came across an interesting post regarding multimonitor support in UDK based games. So, I popped this little fix in and tried it out. It does work, but there are issues. The FOV is unsuitable for 2D, but it's not too bad for 3D. The menus are a little borked, and the HUD doesn't centre (although, not many games do this in surround anyway). I bet with some real work it would function well. Screens (beware, large) 1 2 3
It's great, I added it to my tutorials list. Alternatively, you can also use the "Change World Collision" Kismet node from "SGDK" actions, and manipulate Sonic interaction with the world. This is useful if you have a moving badnik on the platform and you don't want it to fall. [hr] I finally decided to create a site for people to keep track for updates, and I hope it becomes a hub to gather news and information. I chose IndieDB because it's a great place for all the features it offers and the community. If SonicGDK catched your interest, drop by and say hi in the new forums, or visit the page dedicated to fangames. SAGE 2014 Act 2 is almost upon us, so new playable versions will be available to download.
Congratulations on making the most fully-featured and comprehensive 3D Sonic code-base in existence! I've noticed a bug though. Just messing around with the test level, I've noticed that if I enter the Special Stage at all, when I am returned to the level there is no air drag, even if I have it explicitly enabled. EDIT: I've noticed, upon furthur testing, that the air drag effect just randomly deactivates all the time, not working until you die or restart. I don't know WHAT specifically triggers it, but I know it happens.
Unfortunately, I can't reproduce the problem. Did you change the value of "Air Drag Factor"? What are you using? Can you record the game? Thanks for the report; I noticed it's being applied while playing in the special stage, which is very bad.
You'll notice that, at around 2:30, the air drag just disappears. Here is my PawnSonic Properties: Spoiler Code (Text): Begin Object Class=PawnSonic Name=PawnSonic_0 Begin Object Class=DynamicLightEnvironmentComponent Name=MyLightEnvironment ObjName=DynamicLightEnvironmentComponent_4 Archetype=DynamicLightEnvironmentComponent'sonicgdk.Default__PawnSonic:MyLightEnvironment' InvisibleUpdateTime=1.000000 MinTimeBetweenFullUpdates=0.200000 bUseBooleanEnvironmentShadowing=False bSynthesizeSHLight=True bIsCharacterLightEnvironment=True Name="DynamicLightEnvironmentComponent_4" ObjectArchetype=DynamicLightEnvironmentComponent'sonicgdk.Default__PawnSonic:MyLightEnvironment' End Object Begin Object Class=SkeletalMeshComponent Name=WPawnSkeletalMeshComponent ObjName=SkeletalMeshComponent_0 Archetype=SkeletalMeshComponent'sonicgdk.Default__PawnSonic:WPawnSkeletalMeshComponent' SkeletalMesh=SkeletalMesh'SonicGDKPackSkeletalMeshes.SkeletalMeshes.SonicColorsSkeletalMesh' AnimTreeTemplate=AnimTree'SonicGDKPackSkeletalMeshes.animation.SonicColorsAnimTree' PhysicsAsset=PhysicsAsset'SonicGDKPackSkeletalMeshes.PhysicsAssets.SonicColorsPhysicsAsset' AnimSets(0)=AnimSet'SonicGDKPackSkeletalMeshes.animation.SonicColorsAnimset' ForcedLodModel=1 MinDistFactorForKinematicUpdate=0.200000 bUpdateSkelWhenNotRendered=False bIgnoreControllersWhenNotRendered=True bNotUpdatingKinematicDueToDistance=True bHasPhysicsAssetInstance=True bPerBoneMotionBlur=True bOverrideAttachmentOwnerVisibility=True bChartDistanceFactor=True bCacheAnimSequenceNodes=False ReplacementPrimitive=None LightEnvironment=DynamicLightEnvironmentComponent'DynamicLightEnvironmentComponent_4' RBChannel=RBCC_Untitled3 RBDominanceGroup=20 bUseOnePassLightingOnTranslucency=True BlockRigidBody=True AbsoluteRotation=True LightingChannels=(bInitialized=True,Dynamic=True) RBCollideWithChannels=(Untitled3=True) Scale=3.250000 Name="SkeletalMeshComponent_0" ObjectArchetype=SkeletalMeshComponent'sonicgdk.Default__PawnSonic:WPawnSkeletalMeshComponent' End Object Begin Object Class=AudioComponent Name=MachDashAudioComponent ObjName=AudioComponent_0 Archetype=AudioComponent'sonicgdk.Default__PawnSonic:MachDashAudioComponent' bAllowSpatialization=False Name="AudioComponent_0" ObjectArchetype=AudioComponent'sonicgdk.Default__PawnSonic:MachDashAudioComponent' End Object Begin Object Class=SkeletalMeshComponent Name=Ghost1SkeletalComponent ObjName=SkeletalMeshComponent_4 Archetype=SkeletalMeshComponent'sonicgdk.Default__PawnSonic:Ghost1SkeletalComponent' ParentAnimComponent=SkeletalMeshComponent'SkeletalMeshComponent_0' bTransformFromAnimParent=0 bUseBoundsFromParentAnimComponent=True bUpdateSkelWhenNotRendered=False bIgnoreControllersWhenNotRendered=True bCacheAnimSequenceNodes=False ReplacementPrimitive=None HiddenGame=True CastShadow=False bCastDynamicShadow=False bUseOnePassLightingOnTranslucency=True AbsoluteRotation=True Name="SkeletalMeshComponent_4" ObjectArchetype=SkeletalMeshComponent'sonicgdk.Default__PawnSonic:Ghost1SkeletalComponent' End Object Begin Object Class=SkeletalMeshComponent Name=Ghost2SkeletalComponent ObjName=SkeletalMeshComponent_5 Archetype=SkeletalMeshComponent'sonicgdk.Default__PawnSonic:Ghost2SkeletalComponent' ParentAnimComponent=SkeletalMeshComponent'SkeletalMeshComponent_0' bTransformFromAnimParent=0 bUseBoundsFromParentAnimComponent=True bUpdateSkelWhenNotRendered=False bIgnoreControllersWhenNotRendered=True bCacheAnimSequenceNodes=False ReplacementPrimitive=None HiddenGame=True CastShadow=False bCastDynamicShadow=False bUseOnePassLightingOnTranslucency=True AbsoluteRotation=True Name="SkeletalMeshComponent_5" ObjectArchetype=SkeletalMeshComponent'sonicgdk.Default__PawnSonic:Ghost2SkeletalComponent' End Object Begin Object Class=UTAmbientSoundComponent Name=AmbientSoundComponent ObjName=UTAmbientSoundComponent_0 Archetype=UTAmbientSoundComponent'sonicgdk.Default__PawnSonic:AmbientSoundComponent' OcclusionCheckInterval=0.000000 Name="UTAmbientSoundComponent_0" ObjectArchetype=UTAmbientSoundComponent'sonicgdk.Default__PawnSonic:AmbientSoundComponent' End Object Begin Object Class=UTAmbientSoundComponent Name=AmbientSoundComponent2 ObjName=UTAmbientSoundComponent_1 Archetype=UTAmbientSoundComponent'sonicgdk.Default__PawnSonic:AmbientSoundComponent2' OcclusionCheckInterval=0.000000 Name="UTAmbientSoundComponent_1" ObjectArchetype=UTAmbientSoundComponent'sonicgdk.Default__PawnSonic:AmbientSoundComponent2' End Object Begin Object Class=SkeletalMeshComponent Name=OverlayMeshComponent0 ObjName=SkeletalMeshComponent_1 Archetype=SkeletalMeshComponent'sonicgdk.Default__PawnSonic:OverlayMeshComponent0' bUpdateSkelWhenNotRendered=False bPerBoneMotionBlur=True bOverrideAttachmentOwnerVisibility=True ReplacementPrimitive=None bOwnerNoSee=True CastShadow=False Scale=1.015000 TickGroup=TG_PostAsyncWork Name="SkeletalMeshComponent_1" ObjectArchetype=SkeletalMeshComponent'sonicgdk.Default__PawnSonic:OverlayMeshComponent0' End Object Begin Object Class=UDKSkeletalMeshComponent Name=FirstPersonArms ObjName=UDKSkeletalMeshComponent_0 Archetype=UDKSkeletalMeshComponent'sonicgdk.Default__PawnSonic:FirstPersonArms' Begin Object Class=AnimNodeSequence Name=AnimNodeSequence_0 Archetype=AnimNodeSequence'sonicgdk.Default__PawnSonic:FirstPersonArms.MeshSequenceA' Name="AnimNodeSequence_0" ObjectArchetype=AnimNodeSequence'sonicgdk.Default__PawnSonic:FirstPersonArms.MeshSequenceA' End Object FOV=55.000000 Animations=AnimNodeSequence'AnimNodeSequence_0' bUpdateSkelWhenNotRendered=False bIgnoreControllersWhenNotRendered=True bSyncActorLocationToRootRigidBody=False bOverrideAttachmentOwnerVisibility=True ReplacementPrimitive=None DepthPriorityGroup=SDPG_Foreground bOnlyOwnerSee=True CastShadow=False AbsoluteRotation=True AbsoluteScale=True TickGroup=TG_DuringAsyncWork Name="UDKSkeletalMeshComponent_0" ObjectArchetype=UDKSkeletalMeshComponent'sonicgdk.Default__PawnSonic:FirstPersonArms' End Object Begin Object Class=UDKSkeletalMeshComponent Name=FirstPersonArms2 ObjName=UDKSkeletalMeshComponent_1 Archetype=UDKSkeletalMeshComponent'sonicgdk.Default__PawnSonic:FirstPersonArms2' Begin Object Class=AnimNodeSequence Name=AnimNodeSequence_1 Archetype=AnimNodeSequence'sonicgdk.Default__PawnSonic:FirstPersonArms2.MeshSequenceB' Name="AnimNodeSequence_1" ObjectArchetype=AnimNodeSequence'sonicgdk.Default__PawnSonic:FirstPersonArms2.MeshSequenceB' End Object FOV=55.000000 Animations=AnimNodeSequence'AnimNodeSequence_1' bUpdateSkelWhenNotRendered=False bIgnoreControllersWhenNotRendered=True bSyncActorLocationToRootRigidBody=False bOverrideAttachmentOwnerVisibility=True ReplacementPrimitive=None DepthPriorityGroup=SDPG_Foreground HiddenGame=True bOnlyOwnerSee=True CastShadow=False AbsoluteRotation=True AbsoluteScale=True Scale3D=(X=1.000000,Y=-1.000000,Z=1.000000) TickGroup=TG_DuringAsyncWork Name="UDKSkeletalMeshComponent_1" ObjectArchetype=UDKSkeletalMeshComponent'sonicgdk.Default__PawnSonic:FirstPersonArms2' End Object Begin Object Class=CylinderComponent Name=CollisionCylinder ObjName=CylinderComponent_0 Archetype=CylinderComponent'sonicgdk.Default__PawnSonic:CollisionCylinder' CollisionHeight=32.000000 CollisionRadius=20.000000 CylinderColor=(B=0,G=255,R=0,A=255) bDrawBoundingBox=False bAlwaysRenderIfSelected=True ReplacementPrimitive=None CollideActors=True BlockActors=True LightingChannels=(bInitialized=True,Dynamic=True) Name="CylinderComponent_0" ObjectArchetype=CylinderComponent'sonicgdk.Default__PawnSonic:CollisionCylinder' End Object Begin Object Class=ArrowComponent Name=Arrow ObjName=ArrowComponent_5 Archetype=ArrowComponent'sonicgdk.Default__PawnSonic:Arrow' ArrowColor=(B=255,G=200,R=150,A=255) bTreatAsASprite=True SpriteCategoryName="Pawns" ReplacementPrimitive=None LightingChannels=(bInitialized=True,Dynamic=True) Name="ArrowComponent_5" ObjectArchetype=ArrowComponent'sonicgdk.Default__PawnSonic:Arrow' End Object bCanMachDash=False bCanSpeedDash=False bCanStomp=False bHomingDashNeedsJump=False bJumpDashHalvesSpeed=False bJumpDashNeedsJump=False DashGravityScale=1.500000 HomingDashRadius=1000.000000 HomingDashSpeed=4000.000000 JumpDashDurationTime=0.300000 JumpDashSpeed=1750.000000 PhysicsData(0)=(RunningAcceleration=1250.000000,RunningGroundFriction=3000.000000,RunningReferenceSpeed=2000.000000,RunningSlopeBonus=150.000000,RunningTopSpeed=3000.000000,RollingTopSpeed=3000.000000,FallingAirAcceleration=3000.000000,FallingReferenceSpeed=1000.000000,JumpingNormalStrength=800.000000,JumpingTopStrength=1200.000000) PhysicsData(1)=() PhysicsData(2)=() PhysicsData(3)=() PhysicsData(4)=() PhysicsData(5)=() bDefaultPawnClass=True bLimitRollingJump=False bCanUnRoll=True bMeshAlignToGravity=True bDisableBlobShadows=True VisibleMesh=SkeletalMeshComponent'SonicGDKTestMap.TheWorld:PersistentLevel.PawnSonic_0.SkeletalMeshComponent_0' MaxJumpImpulseTime=0.500000 SpinDashSpeedPct=1.250000 AirDragFactor=0.985000 SmoothRotationRate=0.000000 HyperSkeletalGhosts(0)=SkeletalMeshComponent'SonicGDKTestMap.TheWorld:PersistentLevel.PawnSonic_0.SkeletalMeshComponent_4' HyperSkeletalGhosts(1)=SkeletalMeshComponent'SonicGDKTestMap.TheWorld:PersistentLevel.PawnSonic_0.SkeletalMeshComponent_5' PawnAmbientSound=UTAmbientSoundComponent'SonicGDKTestMap.TheWorld:PersistentLevel.PawnSonic_0.UTAmbientSoundComponent_0' WeaponAmbientSound=UTAmbientSoundComponent'SonicGDKTestMap.TheWorld:PersistentLevel.PawnSonic_0.UTAmbientSoundComponent_1' OverlayMesh=SkeletalMeshComponent'SonicGDKTestMap.TheWorld:PersistentLevel.PawnSonic_0.SkeletalMeshComponent_1' ArmsMesh(0)=UDKSkeletalMeshComponent'SonicGDKTestMap.TheWorld:PersistentLevel.PawnSonic_0.UDKSkeletalMeshComponent_0' ArmsMesh(1)=UDKSkeletalMeshComponent'SonicGDKTestMap.TheWorld:PersistentLevel.PawnSonic_0.UDKSkeletalMeshComponent_1' bPushesRigidBodies=False Mesh=SkeletalMeshComponent'SonicGDKTestMap.TheWorld:PersistentLevel.PawnSonic_0.SkeletalMeshComponent_0' CylinderComponent=CylinderComponent'SonicGDKTestMap.TheWorld:PersistentLevel.PawnSonic_0.CylinderComponent_0' Components(0)=CylinderComponent'SonicGDKTestMap.TheWorld:PersistentLevel.PawnSonic_0.CylinderComponent_0' Components(1)=ArrowComponent'SonicGDKTestMap.TheWorld:PersistentLevel.PawnSonic_0.ArrowComponent_5' Components(2)=() Components(3)=SkeletalMeshComponent'SonicGDKTestMap.TheWorld:PersistentLevel.PawnSonic_0.SkeletalMeshComponent_0' Components(4)=UTAmbientSoundComponent'SonicGDKTestMap.TheWorld:PersistentLevel.PawnSonic_0.UTAmbientSoundComponent_0' Components(5)=UTAmbientSoundComponent'SonicGDKTestMap.TheWorld:PersistentLevel.PawnSonic_0.UTAmbientSoundComponent_1' Components(6)=() Location=(X=1900.000000,Y=1152.000000,Z=4692.000000) Tag="PawnSonic" CollisionComponent=CylinderComponent'SonicGDKTestMap.TheWorld:PersistentLevel.PawnSonic_0.CylinderComponent_0' Name="PawnSonic_0" ObjectArchetype=PawnSonic'sonicgdk.Default__PawnSonic' End Object Begin Object Class=AudioComponent Name=AudioComponent_0 Archetype=AudioComponent'sonicgdk.Default__PawnSonic:MachDashAudioComponent' bAllowSpatialization=False Name="AudioComponent_0" ObjectArchetype=AudioComponent'sonicgdk.Default__PawnSonic:MachDashAudioComponent' End Object Begin Object Class=SkeletalMeshComponent Name=SkeletalMeshComponent_0 Archetype=SkeletalMeshComponent'sonicgdk.Default__PawnSonic:WPawnSkeletalMeshComponent' SkeletalMesh=SkeletalMesh'SonicGDKPackSkeletalMeshes.SkeletalMeshes.SonicColorsSkeletalMesh' AnimTreeTemplate=AnimTree'SonicGDKPackSkeletalMeshes.animation.SonicColorsAnimTree' PhysicsAsset=PhysicsAsset'SonicGDKPackSkeletalMeshes.PhysicsAssets.SonicColorsPhysicsAsset' AnimSets(0)=AnimSet'SonicGDKPackSkeletalMeshes.animation.SonicColorsAnimset' ForcedLodModel=1 MinDistFactorForKinematicUpdate=0.200000 bUpdateSkelWhenNotRendered=False bIgnoreControllersWhenNotRendered=True bNotUpdatingKinematicDueToDistance=True bHasPhysicsAssetInstance=True bPerBoneMotionBlur=True bOverrideAttachmentOwnerVisibility=True bChartDistanceFactor=True bCacheAnimSequenceNodes=False ReplacementPrimitive=None LightEnvironment=DynamicLightEnvironmentComponent'SonicGDKTestMap.TheWorld:PersistentLevel.PawnSonic_0.DynamicLightEnvironmentComponent_4' RBChannel=RBCC_Untitled3 RBDominanceGroup=20 bUseOnePassLightingOnTranslucency=True BlockRigidBody=True AbsoluteRotation=True LightingChannels=(bInitialized=True,Dynamic=True) RBCollideWithChannels=(Untitled3=True) Scale=3.250000 Name="SkeletalMeshComponent_0" ObjectArchetype=SkeletalMeshComponent'sonicgdk.Default__PawnSonic:WPawnSkeletalMeshComponent' End Object Begin Object Class=SkeletalMeshComponent Name=SkeletalMeshComponent_4 Archetype=SkeletalMeshComponent'sonicgdk.Default__PawnSonic:Ghost1SkeletalComponent' ParentAnimComponent=SkeletalMeshComponent'SonicGDKTestMap.TheWorld:PersistentLevel.PawnSonic_0.SkeletalMeshComponent_0' bTransformFromAnimParent=0 bUseBoundsFromParentAnimComponent=True bUpdateSkelWhenNotRendered=False bIgnoreControllersWhenNotRendered=True bCacheAnimSequenceNodes=False ReplacementPrimitive=None HiddenGame=True CastShadow=False bCastDynamicShadow=False bUseOnePassLightingOnTranslucency=True AbsoluteRotation=True Name="SkeletalMeshComponent_4" ObjectArchetype=SkeletalMeshComponent'sonicgdk.Default__PawnSonic:Ghost1SkeletalComponent' End Object Begin Object Class=DynamicLightEnvironmentComponent Name=DynamicLightEnvironmentComponent_4 Archetype=DynamicLightEnvironmentComponent'sonicgdk.Default__PawnSonic:MyLightEnvironment' InvisibleUpdateTime=1.000000 MinTimeBetweenFullUpdates=0.200000 bUseBooleanEnvironmentShadowing=False bSynthesizeSHLight=True bIsCharacterLightEnvironment=True Name="DynamicLightEnvironmentComponent_4" ObjectArchetype=DynamicLightEnvironmentComponent'sonicgdk.Default__PawnSonic:MyLightEnvironment' End Object Begin Object Class=UTAmbientSoundComponent Name=UTAmbientSoundComponent_0 Archetype=UTAmbientSoundComponent'sonicgdk.Default__PawnSonic:AmbientSoundComponent' OcclusionCheckInterval=0.000000 Name="UTAmbientSoundComponent_0" ObjectArchetype=UTAmbientSoundComponent'sonicgdk.Default__PawnSonic:AmbientSoundComponent' End Object Begin Object Class=UTAmbientSoundComponent Name=UTAmbientSoundComponent_1 Archetype=UTAmbientSoundComponent'sonicgdk.Default__PawnSonic:AmbientSoundComponent2' OcclusionCheckInterval=0.000000 Name="UTAmbientSoundComponent_1" ObjectArchetype=UTAmbientSoundComponent'sonicgdk.Default__PawnSonic:AmbientSoundComponent2' End Object Begin Object Class=SkeletalMeshComponent Name=SkeletalMeshComponent_1 Archetype=SkeletalMeshComponent'sonicgdk.Default__PawnSonic:OverlayMeshComponent0' bUpdateSkelWhenNotRendered=False bPerBoneMotionBlur=True bOverrideAttachmentOwnerVisibility=True ReplacementPrimitive=None bOwnerNoSee=True CastShadow=False Scale=1.015000 TickGroup=TG_PostAsyncWork Name="SkeletalMeshComponent_1" ObjectArchetype=SkeletalMeshComponent'sonicgdk.Default__PawnSonic:OverlayMeshComponent0' End Object Begin Object Class=UDKSkeletalMeshComponent Name=UDKSkeletalMeshComponent_0 Archetype=UDKSkeletalMeshComponent'sonicgdk.Default__PawnSonic:FirstPersonArms' Begin Object Class=AnimNodeSequence Name=AnimNodeSequence_0 Archetype=AnimNodeSequence'sonicgdk.Default__PawnSonic:FirstPersonArms.MeshSequenceA' Name="AnimNodeSequence_0" ObjectArchetype=AnimNodeSequence'sonicgdk.Default__PawnSonic:FirstPersonArms.MeshSequenceA' End Object FOV=55.000000 Animations=AnimNodeSequence'SonicGDKTestMap.TheWorld:PersistentLevel.PawnSonic_0.UDKSkeletalMeshComponent_0.AnimNodeSequence_0' bUpdateSkelWhenNotRendered=False bIgnoreControllersWhenNotRendered=True bSyncActorLocationToRootRigidBody=False bOverrideAttachmentOwnerVisibility=True ReplacementPrimitive=None DepthPriorityGroup=SDPG_Foreground bOnlyOwnerSee=True CastShadow=False AbsoluteRotation=True AbsoluteScale=True TickGroup=TG_DuringAsyncWork Name="UDKSkeletalMeshComponent_0" ObjectArchetype=UDKSkeletalMeshComponent'sonicgdk.Default__PawnSonic:FirstPersonArms' End Object Begin Object Class=CylinderComponent Name=CylinderComponent_0 Archetype=CylinderComponent'sonicgdk.Default__PawnSonic:CollisionCylinder' CollisionHeight=32.000000 CollisionRadius=20.000000 CylinderColor=(B=0,G=255,R=0,A=255) bDrawBoundingBox=False bAlwaysRenderIfSelected=True ReplacementPrimitive=None CollideActors=True BlockActors=True LightingChannels=(bInitialized=True,Dynamic=True) Name="CylinderComponent_0" ObjectArchetype=CylinderComponent'sonicgdk.Default__PawnSonic:CollisionCylinder' End Object Begin Object Class=AnimNodeSequence Name=AnimNodeSequence_0 Archetype=AnimNodeSequence'sonicgdk.Default__PawnSonic:FirstPersonArms.MeshSequenceA' Name="AnimNodeSequence_0" ObjectArchetype=AnimNodeSequence'sonicgdk.Default__PawnSonic:FirstPersonArms.MeshSequenceA' End Object The only thing I've changed in the .uc file is allowing input during jump dashes. Hope this info helps.
I could reproduce the problem and fixed it, thank you; air drag was removed by the chained springs. [hr] SOURCE CODE -- 1.20.109 -- 09/Nov/2014 -- (requires UDK July 2013) Sponsored by Andrew75 from Project AXSX Improves stuff for Sonic Incursion and Sonic Souls This release has better AI and shooting options for enemies, more configurable properties for GenericProjectile, new Kismet nodes, dummy classes for characters, unlockable levels and other fixes/improvements; check the readme file for more technical details.
Hey all, long time no see eh? Hope everyone has been achieving good success with their projects. I'm running into some issues (perhaps not just with GDK) that I can't find solutions for online. The materials for my meshes (models created in and exported from blender 2.71 as .FBX files) do not show up on the mesh. When I import the meshes, they appear in the content browser, and it looks like the materials show up for a split-second but then vanish. Does anyone have any experience with this issue? The other problem I'm running into involves the meshes themselves. When put into a level environment in UDK, the objects don't have visible backfaces. If anyone can give advice on this or my other problem I'd greatly appreciate it.
You mean they vanish from content browser or from the mesh? Maybe right click the folder (the upk) in the content browser and select load.( this will let you see all materials in the content browser) If you mean the mesh than you need to manually assign the material to your mesh by double clicking on the mesh in the content browser to open the model viewer and assign the material there. For the object that you want to see the back side of ( you need to edit the material for that object in the material editor) and select the option for 2 sided. (put a check in its box.) would be nice to see a video of your problem....
Sorry, not sure of how to record the footage of the content browser. What happens is this: 1. using content browser, import fbx (with mesh and material) into udk 2. open the package into which it was imported in the content browser 3. package contents are shown 4. meshes appear and stay as is normal 5. materials appear very briefly (less than half a second) and then disappear 6. no amount of opening and closing different packages or the content browser will make them appear again 7. restarting the editor allows you to see the materials again, but once again it is only for a split second and then the materials disappear again in the same fashion I'm fairly certain that since I've only imported these FBX into that package, it must contain the materials. They just don't appear for some reason. If you know a screen recorder that allows recording of any window, let me know what it is, and I'll make a video of the problem. Thanks for the 'two sided' tip. My craptop didn't like doing the math on it, but it works.
Also, is there a 'best' way to handle collisions on imported meshes of complex shapes? For example, I'm making a cave that will need a complex collision mesh. I've tried using one of the content browser's options, like 'simple rigid body' or 'line-based collision' but it doesn't work well for those complex shapes like the cave. Maybe smoothing the mesh would help? It's currently only at a few hundred faces.
Best collision is by checking per poly collision in the model viewer and disable the other collision types. also you did try to right click the package and load correct ? ( for the vanishing materials) If that does not do it, than I would recommend bringing the topic up over on the unreal forums.