Browse Source

Initial commit

Getty Ritter 1 year ago
commit
a69e3aa8c2
65 changed files with 656 additions and 0 deletions
  1. 14 0
      .gitignore
  2. 8 0
      Config/DefaultEditor.ini
  3. 2 0
      Config/DefaultEditorPerProjectUserSettings.ini
  4. 64 0
      Config/DefaultEngine.ini
  5. 3 0
      Config/DefaultGame.ini
  6. 97 0
      Config/DefaultInput.ini
  7. BIN
      Content/Geometry/Meshes/1M_Cube.uasset
  8. BIN
      Content/Geometry/Meshes/1M_Cube_Chamfer.uasset
  9. BIN
      Content/Geometry/Meshes/CubeMaterial.uasset
  10. BIN
      Content/Geometry/Meshes/TemplateFloor.uasset
  11. BIN
      Content/Mannequin/Animations/ThirdPersonIdle.uasset
  12. BIN
      Content/Mannequin/Animations/ThirdPersonJump_End.uasset
  13. BIN
      Content/Mannequin/Animations/ThirdPersonJump_Loop.uasset
  14. BIN
      Content/Mannequin/Animations/ThirdPersonJump_Start.uasset
  15. BIN
      Content/Mannequin/Animations/ThirdPersonRun.uasset
  16. BIN
      Content/Mannequin/Animations/ThirdPersonWalk.uasset
  17. BIN
      Content/Mannequin/Animations/ThirdPerson_AnimBP.uasset
  18. BIN
      Content/Mannequin/Animations/ThirdPerson_IdleRun_2D.uasset
  19. BIN
      Content/Mannequin/Animations/ThirdPerson_Jump.uasset
  20. BIN
      Content/Mannequin/Character/Materials/M_UE4Man_Body.uasset
  21. BIN
      Content/Mannequin/Character/Materials/M_UE4Man_ChestLogo.uasset
  22. BIN
      Content/Mannequin/Character/Materials/MaterialLayers/ML_GlossyBlack_Latex_UE4.uasset
  23. BIN
      Content/Mannequin/Character/Materials/MaterialLayers/ML_Plastic_Shiny_Beige.uasset
  24. BIN
      Content/Mannequin/Character/Materials/MaterialLayers/ML_Plastic_Shiny_Beige_LOGO.uasset
  25. BIN
      Content/Mannequin/Character/Materials/MaterialLayers/ML_SoftMetal_UE4.uasset
  26. BIN
      Content/Mannequin/Character/Materials/MaterialLayers/T_ML_Aluminum01.uasset
  27. BIN
      Content/Mannequin/Character/Materials/MaterialLayers/T_ML_Aluminum01_N.uasset
  28. BIN
      Content/Mannequin/Character/Materials/MaterialLayers/T_ML_Rubber_Blue_01_D.uasset
  29. BIN
      Content/Mannequin/Character/Materials/MaterialLayers/T_ML_Rubber_Blue_01_N.uasset
  30. BIN
      Content/Mannequin/Character/Mesh/SK_Mannequin.uasset
  31. BIN
      Content/Mannequin/Character/Mesh/SK_Mannequin_PhysicsAsset.uasset
  32. BIN
      Content/Mannequin/Character/Mesh/UE4_Mannequin_Skeleton.uasset
  33. BIN
      Content/Mannequin/Character/Textures/UE4Man_Logo_N.uasset
  34. BIN
      Content/Mannequin/Character/Textures/UE4_LOGO_CARD.uasset
  35. BIN
      Content/Mannequin/Character/Textures/UE4_Mannequin_MAT_MASKA.uasset
  36. BIN
      Content/Mannequin/Character/Textures/UE4_Mannequin__normals.uasset
  37. BIN
      Content/ThirdPerson/Meshes/Bump_StaticMesh.uasset
  38. BIN
      Content/ThirdPerson/Meshes/CubeMaterial.uasset
  39. BIN
      Content/ThirdPerson/Meshes/LeftArm_StaticMesh.uasset
  40. BIN
      Content/ThirdPerson/Meshes/Linear_Stair_StaticMesh.uasset
  41. BIN
      Content/ThirdPerson/Meshes/RampMaterial.uasset
  42. BIN
      Content/ThirdPerson/Meshes/Ramp_StaticMesh.uasset
  43. BIN
      Content/ThirdPerson/Meshes/RightArm_StaticMesh.uasset
  44. BIN
      Content/ThirdPersonCPP/Blueprints/Sign.uasset
  45. BIN
      Content/ThirdPersonCPP/Blueprints/ThirdPersonCharacter.uasset
  46. BIN
      Content/ThirdPersonCPP/Maps/ThirdPersonExampleMap.umap
  47. BIN
      Content/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.uasset
  48. BIN
      Content/UI/Dialogue.uasset
  49. 3 0
      README.md
  50. 17 0
      Raan.uproject
  51. 13 0
      Source/Raan.Target.cs
  52. 10 0
      Source/Raan/InteractDialogue.cpp
  53. 20 0
      Source/Raan/InteractDialogue.h
  54. 30 0
      Source/Raan/Interactible.cpp
  55. 30 0
      Source/Raan/Interactible.h
  56. 12 0
      Source/Raan/Interaction.cpp
  57. 18 0
      Source/Raan/Interaction.h
  58. 13 0
      Source/Raan/Raan.Build.cs
  59. 7 0
      Source/Raan/Raan.cpp
  60. 5 0
      Source/Raan/Raan.h
  61. 161 0
      Source/Raan/RaanCharacter.cpp
  62. 82 0
      Source/Raan/RaanCharacter.h
  63. 15 0
      Source/Raan/RaanGameMode.cpp
  64. 19 0
      Source/Raan/RaanGameMode.h
  65. 13 0
      Source/RaanEditor.Target.cs

+ 14 - 0
.gitignore

@@ -0,0 +1,14 @@
+Binaries
+DerivedDataCache
+Intermediate
+Saved
+.vscode
+.vs
+*.VC.db
+*.opensdf
+*.opendb
+*.sdf
+*.sln
+*.suo
+*.xcodeproj
+*.xcworkspace

+ 8 - 0
Config/DefaultEditor.ini

@@ -0,0 +1,8 @@
+[UnrealEd.SimpleMap]
+SimpleMapName=/Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap
+
+[EditoronlyBP]
+bAllowClassAndBlueprintPinMatching=true
+bReplaceBlueprintWithClass= true
+bDontLoadBlueprintOutsideEditor= true
+bBlueprintIsNotBlueprintType= true

+ 2 - 0
Config/DefaultEditorPerProjectUserSettings.ini

@@ -0,0 +1,2 @@
+[ContentBrowser]
+ContentBrowserTab1.SelectedPaths=/Game/ThirdPersonCPP

+ 64 - 0
Config/DefaultEngine.ini

@@ -0,0 +1,64 @@
+[/Script/EngineSettings.GameMapsSettings]
+GameDefaultMap=/Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap
+EditorStartupMap=/Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap
+GlobalDefaultGameMode="/Script/Raan.RaanGameMode"
+
+[/Script/IOSRuntimeSettings.IOSRuntimeSettings]
+MinimumiOSVersion=IOS_10
+
+[/Script/Engine.Engine]
++ActiveGameNameRedirects=(OldGameName="TP_ThirdPerson",NewGameName="/Script/Raan")
++ActiveGameNameRedirects=(OldGameName="/Script/TP_ThirdPerson",NewGameName="/Script/Raan")
++ActiveClassRedirects=(OldClassName="TP_ThirdPersonGameMode",NewClassName="RaanGameMode")
++ActiveClassRedirects=(OldClassName="TP_ThirdPersonCharacter",NewClassName="RaanCharacter")
+
+[/Script/HardwareTargeting.HardwareTargetingSettings]
+TargetedHardwareClass=Desktop
+AppliedTargetedHardwareClass=Desktop
+DefaultGraphicsPerformance=Maximum
+AppliedDefaultGraphicsPerformance=Maximum
+
+[/Script/Engine.PhysicsSettings]
+DefaultGravityZ=-980.000000
+DefaultTerminalVelocity=4000.000000
+DefaultFluidFriction=0.300000
+SimulateScratchMemorySize=262144
+RagdollAggregateThreshold=4
+TriangleMeshTriangleMinAreaThreshold=5.000000
+bEnableShapeSharing=False
+bEnablePCM=True
+bEnableStabilization=False
+bWarnMissingLocks=True
+bEnable2DPhysics=False
+PhysicErrorCorrection=(PingExtrapolation=0.100000,PingLimit=100.000000,ErrorPerLinearDifference=1.000000,ErrorPerAngularDifference=1.000000,MaxRestoredStateError=1.000000,MaxLinearHardSnapDistance=400.000000,PositionLerp=0.000000,AngleLerp=0.400000,LinearVelocityCoefficient=100.000000,AngularVelocityCoefficient=10.000000,ErrorAccumulationSeconds=0.500000,ErrorAccumulationDistanceSq=15.000000,ErrorAccumulationSimilarity=100.000000)
+LockedAxis=Invalid
+DefaultDegreesOfFreedom=Full3D
+BounceThresholdVelocity=200.000000
+FrictionCombineMode=Average
+RestitutionCombineMode=Average
+MaxAngularVelocity=3600.000000
+MaxDepenetrationVelocity=0.000000
+ContactOffsetMultiplier=0.020000
+MinContactOffset=2.000000
+MaxContactOffset=8.000000
+bSimulateSkeletalMeshOnDedicatedServer=True
+DefaultShapeComplexity=CTF_UseSimpleAndComplex
+bDefaultHasComplexCollision=True
+bSuppressFaceRemapTable=False
+bSupportUVFromHitResults=False
+bDisableActiveActors=False
+bDisableKinematicStaticPairs=False
+bDisableKinematicKinematicPairs=False
+bDisableCCD=False
+bEnableEnhancedDeterminism=False
+MaxPhysicsDeltaTime=0.033333
+bSubstepping=False
+bSubsteppingAsync=False
+MaxSubstepDeltaTime=0.016667
+MaxSubsteps=6
+SyncSceneSmoothingFactor=0.000000
+InitialAverageFrameRate=0.016667
+PhysXTreeRebuildRate=10
+DefaultBroadphaseSettings=(bUseMBPOnClient=False,bUseMBPOnServer=False,MBPBounds=(Min=(X=0.000000,Y=0.000000,Z=0.000000),Max=(X=0.000000,Y=0.000000,Z=0.000000),IsValid=0),MBPNumSubdivs=2)
+
+

+ 3 - 0
Config/DefaultGame.ini

@@ -0,0 +1,3 @@
+[/Script/EngineSettings.GeneralProjectSettings]
+ProjectID=540B0DD94A5333E48A51698A37C3F26A
+ProjectName=Third Person Game Template

+ 97 - 0
Config/DefaultInput.ini

@@ -0,0 +1,97 @@
+
+[/Script/Engine.InputSettings]
+-AxisConfig=(AxisKeyName="Gamepad_LeftX",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
+-AxisConfig=(AxisKeyName="Gamepad_LeftY",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
+-AxisConfig=(AxisKeyName="Gamepad_RightX",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
+-AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
+-AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f))
+-AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f))
++AxisConfig=(AxisKeyName="Gamepad_LeftX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="Gamepad_LeftY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="Gamepad_RightX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="MotionController_Left_Thumbstick_Z",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="MotionController_Right_Thumbstick_Z",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="MouseWheelAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="Gamepad_LeftTriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="Gamepad_RightTriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="MotionController_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="MotionController_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="MotionController_Left_TriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="MotionController_Left_Grip1Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="MotionController_Left_Grip2Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="MotionController_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="MotionController_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="MotionController_Right_TriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="MotionController_Right_Grip1Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="MotionController_Right_Grip2Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="Gamepad_Special_Left_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="Gamepad_Special_Left_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="OculusTouch_Left_Thumbstick",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="OculusTouch_Left_FaceButton1",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="OculusTouch_Left_Trigger",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="OculusTouch_Left_FaceButton2",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="OculusTouch_Left_IndexPointing",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="OculusTouch_Left_ThumbUp",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="OculusTouch_Right_Thumbstick",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="OculusTouch_Right_FaceButton1",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="OculusTouch_Right_Trigger",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="OculusTouch_Right_FaceButton2",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="OculusTouch_Right_IndexPointing",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="OculusTouch_Right_ThumbUp",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="OculusTouchpad_Touchpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="OculusTouchpad_Touchpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="SteamVR_Knuckles_Left_HandGrip",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="SteamVR_Knuckles_Left_IndexGrip",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="SteamVR_Knuckles_Left_MiddleGrip",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="SteamVR_Knuckles_Left_RingGrip",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="SteamVR_Knuckles_Left_PinkyGrip",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="SteamVR_Knuckles_Right_HandGrip",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="SteamVR_Knuckles_Right_IndexGrip",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="SteamVR_Knuckles_Right_MiddleGrip",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="SteamVR_Knuckles_Right_RingGrip",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
++AxisConfig=(AxisKeyName="SteamVR_Knuckles_Right_PinkyGrip",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+bAltEnterTogglesFullscreen=True
+bF11TogglesFullscreen=True
+bUseMouseForTouch=False
+bEnableMouseSmoothing=True
+bEnableFOVScaling=True
+bCaptureMouseOnLaunch=True
+bDefaultViewportMouseLock=False
+bAlwaysShowTouchInterface=False
+bShowConsoleOnFourFingerTap=True
+bEnableGestureRecognizer=False
+bUseAutocorrect=False
+DefaultViewportMouseCaptureMode=CapturePermanently_IncludingInitialMouseDown
+DefaultViewportMouseLockMode=LockOnCapture
+FOVScale=0.011110
+DoubleClickTime=0.200000
++ActionMappings=(ActionName="Jump",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=SpaceBar)
++ActionMappings=(ActionName="Jump",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Gamepad_FaceButton_Bottom)
++ActionMappings=(ActionName="ResetVR",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=R)
++ActionMappings=(ActionName="ResetVR",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=MotionController_Left_Grip1)
++ActionMappings=(ActionName="Jump",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=OculusTouchpad_Touchpad)
++ActionMappings=(ActionName="Target",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Tab)
++ActionMappings=(ActionName="Interact",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=E)
++AxisMappings=(AxisName="MoveForward",Scale=1.000000,Key=W)
++AxisMappings=(AxisName="MoveForward",Scale=-1.000000,Key=S)
++AxisMappings=(AxisName="MoveForward",Scale=1.000000,Key=Up)
++AxisMappings=(AxisName="MoveForward",Scale=-1.000000,Key=Down)
++AxisMappings=(AxisName="MoveForward",Scale=1.000000,Key=Gamepad_LeftY)
++AxisMappings=(AxisName="MoveRight",Scale=-1.000000,Key=A)
++AxisMappings=(AxisName="MoveRight",Scale=1.000000,Key=D)
++AxisMappings=(AxisName="MoveRight",Scale=1.000000,Key=Gamepad_LeftX)
++AxisMappings=(AxisName="TurnRate",Scale=1.000000,Key=Gamepad_RightX)
++AxisMappings=(AxisName="TurnRate",Scale=-1.000000,Key=Left)
++AxisMappings=(AxisName="TurnRate",Scale=1.000000,Key=Right)
++AxisMappings=(AxisName="Turn",Scale=1.000000,Key=MouseX)
++AxisMappings=(AxisName="LookUpRate",Scale=1.000000,Key=Gamepad_RightY)
++AxisMappings=(AxisName="LookUp",Scale=-1.000000,Key=MouseY)
+DefaultTouchInterface=/Engine/MobileResources/HUD/DefaultVirtualJoysticks.DefaultVirtualJoysticks
+ConsoleKey=None
+-ConsoleKeys=Tilde
++ConsoleKeys=Tilde
+
+

BIN
Content/Geometry/Meshes/1M_Cube.uasset


BIN
Content/Geometry/Meshes/1M_Cube_Chamfer.uasset


BIN
Content/Geometry/Meshes/CubeMaterial.uasset


BIN
Content/Geometry/Meshes/TemplateFloor.uasset


BIN
Content/Mannequin/Animations/ThirdPersonIdle.uasset


BIN
Content/Mannequin/Animations/ThirdPersonJump_End.uasset


BIN
Content/Mannequin/Animations/ThirdPersonJump_Loop.uasset


BIN
Content/Mannequin/Animations/ThirdPersonJump_Start.uasset


BIN
Content/Mannequin/Animations/ThirdPersonRun.uasset


BIN
Content/Mannequin/Animations/ThirdPersonWalk.uasset


BIN
Content/Mannequin/Animations/ThirdPerson_AnimBP.uasset


BIN
Content/Mannequin/Animations/ThirdPerson_IdleRun_2D.uasset


BIN
Content/Mannequin/Animations/ThirdPerson_Jump.uasset


BIN
Content/Mannequin/Character/Materials/M_UE4Man_Body.uasset


BIN
Content/Mannequin/Character/Materials/M_UE4Man_ChestLogo.uasset


BIN
Content/Mannequin/Character/Materials/MaterialLayers/ML_GlossyBlack_Latex_UE4.uasset


BIN
Content/Mannequin/Character/Materials/MaterialLayers/ML_Plastic_Shiny_Beige.uasset


BIN
Content/Mannequin/Character/Materials/MaterialLayers/ML_Plastic_Shiny_Beige_LOGO.uasset


BIN
Content/Mannequin/Character/Materials/MaterialLayers/ML_SoftMetal_UE4.uasset


BIN
Content/Mannequin/Character/Materials/MaterialLayers/T_ML_Aluminum01.uasset


BIN
Content/Mannequin/Character/Materials/MaterialLayers/T_ML_Aluminum01_N.uasset


BIN
Content/Mannequin/Character/Materials/MaterialLayers/T_ML_Rubber_Blue_01_D.uasset


BIN
Content/Mannequin/Character/Materials/MaterialLayers/T_ML_Rubber_Blue_01_N.uasset


BIN
Content/Mannequin/Character/Mesh/SK_Mannequin.uasset


BIN
Content/Mannequin/Character/Mesh/SK_Mannequin_PhysicsAsset.uasset


BIN
Content/Mannequin/Character/Mesh/UE4_Mannequin_Skeleton.uasset


BIN
Content/Mannequin/Character/Textures/UE4Man_Logo_N.uasset


BIN
Content/Mannequin/Character/Textures/UE4_LOGO_CARD.uasset


BIN
Content/Mannequin/Character/Textures/UE4_Mannequin_MAT_MASKA.uasset


BIN
Content/Mannequin/Character/Textures/UE4_Mannequin__normals.uasset


BIN
Content/ThirdPerson/Meshes/Bump_StaticMesh.uasset


BIN
Content/ThirdPerson/Meshes/CubeMaterial.uasset


BIN
Content/ThirdPerson/Meshes/LeftArm_StaticMesh.uasset


BIN
Content/ThirdPerson/Meshes/Linear_Stair_StaticMesh.uasset


BIN
Content/ThirdPerson/Meshes/RampMaterial.uasset


BIN
Content/ThirdPerson/Meshes/Ramp_StaticMesh.uasset


BIN
Content/ThirdPerson/Meshes/RightArm_StaticMesh.uasset


BIN
Content/ThirdPersonCPP/Blueprints/Sign.uasset


BIN
Content/ThirdPersonCPP/Blueprints/ThirdPersonCharacter.uasset


BIN
Content/ThirdPersonCPP/Maps/ThirdPersonExampleMap.umap


BIN
Content/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.uasset


BIN
Content/UI/Dialogue.uasset


+ 3 - 0
README.md

@@ -0,0 +1,3 @@
+# Raan
+
+Developed with Unreal Engine 4

+ 17 - 0
Raan.uproject

@@ -0,0 +1,17 @@
+{
+	"FileVersion": 3,
+	"EngineAssociation": "4.22",
+	"Category": "",
+	"Description": "",
+	"Modules": [
+		{
+			"Name": "Raan",
+			"Type": "Runtime",
+			"LoadingPhase": "Default",
+			"AdditionalDependencies": [
+				"Engine",
+				"CoreUObject"
+			]
+		}
+	]
+}

+ 13 - 0
Source/Raan.Target.cs

@@ -0,0 +1,13 @@
+// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
+
+using UnrealBuildTool;
+using System.Collections.Generic;
+
+public class RaanTarget : TargetRules
+{
+	public RaanTarget(TargetInfo Target) : base(Target)
+	{
+		Type = TargetType.Game;
+		ExtraModuleNames.Add("Raan");
+	}
+}

+ 10 - 0
Source/Raan/InteractDialogue.cpp

@@ -0,0 +1,10 @@
+// Fill out your copyright notice in the Description page of Project Settings.
+
+
+#include "InteractDialogue.h"
+
+
+void UInteractDialogue::Interact() {
+     if(GEngine)
+      GEngine->AddOnScreenDebugMessage(-1, 15.0f, FColor::Yellow, this->DialogueText.ToString());
+}

+ 20 - 0
Source/Raan/InteractDialogue.h

@@ -0,0 +1,20 @@
+// Fill out your copyright notice in the Description page of Project Settings.
+
+#pragma once
+
+#include "CoreMinimal.h"
+#include "Interaction.h"
+#include "InteractDialogue.generated.h"
+
+/**
+ * 
+ */
+UCLASS()
+class RAAN_API UInteractDialogue : public UInteraction
+{
+	GENERATED_BODY()
+	
+	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category="Dialogue", meta = (AllowPrivateAccess = "true"))
+	FText DialogueText;
+	virtual void Interact() override;
+};

+ 30 - 0
Source/Raan/Interactible.cpp

@@ -0,0 +1,30 @@
+// Fill out your copyright notice in the Description page of Project Settings.
+
+
+#include "Interactible.h"
+#include "Interaction.h"
+
+// Sets default values for this component's properties
+UInteractible::UInteractible()
+{
+	// Set this component to be initialized when the game starts, and to be ticked every frame.  You can turn these features
+	// off to improve performance if you don't need them.
+	PrimaryComponentTick.bCanEverTick = false;
+
+	// ...
+}
+
+
+// Called when the game starts
+void UInteractible::BeginPlay()
+{
+	Super::BeginPlay();
+
+	// ...
+	
+}
+
+void UInteractible::Interact()
+{
+	// Interaction->Interact();
+}

+ 30 - 0
Source/Raan/Interactible.h

@@ -0,0 +1,30 @@
+// Fill out your copyright notice in the Description page of Project Settings.
+
+#pragma once
+
+#include "CoreMinimal.h"
+#include "Components/ActorComponent.h"
+#include "Interactible.generated.h"
+
+
+UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) )
+class RAAN_API UInteractible : public UActorComponent
+{
+	GENERATED_BODY()
+
+	/** type of damage */
+	UPROPERTY(BlueprintReadWrite, Category="Interaction", meta = (AllowPrivateAccess = "true"))
+	TSubclassOf<class UInteraction> Interaction;
+
+public:	
+	// Sets default values for this component's properties
+	UInteractible();
+
+protected:
+	// Called when the game starts
+	virtual void BeginPlay() override;
+
+public:
+	// Called when the player Interacts with this actor
+	void Interact();		
+};

+ 12 - 0
Source/Raan/Interaction.cpp

@@ -0,0 +1,12 @@
+// Fill out your copyright notice in the Description page of Project Settings.
+
+
+#include "Interaction.h"
+
+
+void UInteraction::Interact()
+{
+    if (GEngine)
+        GEngine->AddOnScreenDebugMessage(-1, 15.0f, FColor::Yellow, "dummy interaction invoked");
+    // do nothing
+}

+ 18 - 0
Source/Raan/Interaction.h

@@ -0,0 +1,18 @@
+// Fill out your copyright notice in the Description page of Project Settings.
+
+#pragma once
+
+#include "CoreMinimal.h"
+#include "UObject/NoExportTypes.h"
+#include "Interaction.generated.h"
+
+/**
+ * 
+ */
+UCLASS()
+class RAAN_API UInteraction : public UObject
+{
+	GENERATED_BODY()
+	
+	virtual void Interact();
+};

+ 13 - 0
Source/Raan/Raan.Build.cs

@@ -0,0 +1,13 @@
+// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
+
+using UnrealBuildTool;
+
+public class Raan : ModuleRules
+{
+	public Raan(ReadOnlyTargetRules Target) : base(Target)
+	{
+		PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
+
+		PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "HeadMountedDisplay" });
+	}
+}

+ 7 - 0
Source/Raan/Raan.cpp

@@ -0,0 +1,7 @@
+// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
+
+#include "Raan.h"
+#include "Modules/ModuleManager.h"
+
+IMPLEMENT_PRIMARY_GAME_MODULE( FDefaultGameModuleImpl, Raan, "Raan" );
+ 

+ 5 - 0
Source/Raan/Raan.h

@@ -0,0 +1,5 @@
+// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
+
+#pragma once
+
+#include "CoreMinimal.h"

+ 161 - 0
Source/Raan/RaanCharacter.cpp

@@ -0,0 +1,161 @@
+// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
+
+#include "RaanCharacter.h"
+#include "HeadMountedDisplayFunctionLibrary.h"
+#include "Camera/CameraComponent.h"
+#include "Components/CapsuleComponent.h"
+#include "Components/InputComponent.h"
+#include "GameFramework/CharacterMovementComponent.h"
+#include "GameFramework/Controller.h"
+#include "GameFramework/SpringArmComponent.h"
+#include "Interactible.h"
+
+//////////////////////////////////////////////////////////////////////////
+// ARaanCharacter
+
+ARaanCharacter::ARaanCharacter()
+{
+	// Set size for collision capsule
+	GetCapsuleComponent()->InitCapsuleSize(42.f, 96.0f);
+
+	// set our turn rates for input
+	BaseTurnRate = 45.f;
+	BaseLookUpRate = 45.f;
+
+	// Don't rotate when the controller rotates. Let that just affect the camera.
+	bUseControllerRotationPitch = false;
+	bUseControllerRotationYaw = false;
+	bUseControllerRotationRoll = false;
+
+	// Configure character movement
+	GetCharacterMovement()->bOrientRotationToMovement = true; // Character moves in the direction of input...	
+	GetCharacterMovement()->RotationRate = FRotator(0.0f, 540.0f, 0.0f); // ...at this rotation rate
+	GetCharacterMovement()->JumpZVelocity = 600.f;
+	GetCharacterMovement()->AirControl = 0.2f;
+
+	// Create a camera boom (pulls in towards the player if there is a collision)
+	CameraBoom = CreateDefaultSubobject<USpringArmComponent>(TEXT("CameraBoom"));
+	CameraBoom->SetupAttachment(RootComponent);
+	CameraBoom->TargetArmLength = 300.0f; // The camera follows at this distance behind the character	
+	CameraBoom->bUsePawnControlRotation = true; // Rotate the arm based on the controller
+
+	// Create a follow camera
+	FollowCamera = CreateDefaultSubobject<UCameraComponent>(TEXT("FollowCamera"));
+	FollowCamera->SetupAttachment(CameraBoom, USpringArmComponent::SocketName); // Attach the camera to the end of the boom and let the boom adjust to match the controller orientation
+	FollowCamera->bUsePawnControlRotation = false; // Camera does not rotate relative to arm
+
+	TargetVolume = CreateDefaultSubobject<UCapsuleComponent>(TEXT("TargetVolume"));
+	TargetVolume->InitCapsuleSize(180, 170);
+	TargetVolume->SetCollisionProfileName(TEXT("Trigger"));
+	TargetVolume->SetupAttachment(RootComponent);
+
+	// Note: The skeletal mesh and anim blueprint references on the Mesh component (inherited from Character) 
+	// are set in the derived blueprint asset named MyCharacter (to avoid direct content references in C++)
+}
+
+//////////////////////////////////////////////////////////////////////////
+// Input
+
+void ARaanCharacter::SetupPlayerInputComponent(class UInputComponent* PlayerInputComponent)
+{
+	// Set up gameplay key bindings
+	check(PlayerInputComponent);
+	PlayerInputComponent->BindAction("Jump", IE_Pressed, this, &ACharacter::Jump);
+	PlayerInputComponent->BindAction("Jump", IE_Released, this, &ACharacter::StopJumping);
+
+	PlayerInputComponent->BindAction("Target", IE_Pressed, this, &ARaanCharacter::ToggleTarget);
+
+	PlayerInputComponent->BindAction("Interact", IE_Pressed, this, &ARaanCharacter::Interact);
+
+	PlayerInputComponent->BindAxis("MoveForward", this, &ARaanCharacter::MoveForward);
+	PlayerInputComponent->BindAxis("MoveRight", this, &ARaanCharacter::MoveRight);
+
+	// We have 2 versions of the rotation bindings to handle different kinds of devices differently
+	// "turn" handles devices that provide an absolute delta, such as a mouse.
+	// "turnrate" is for devices that we choose to treat as a rate of change, such as an analog joystick
+	PlayerInputComponent->BindAxis("Turn", this, &APawn::AddControllerYawInput);
+	PlayerInputComponent->BindAxis("TurnRate", this, &ARaanCharacter::TurnAtRate);
+	PlayerInputComponent->BindAxis("LookUp", this, &APawn::AddControllerPitchInput);
+	PlayerInputComponent->BindAxis("LookUpRate", this, &ARaanCharacter::LookUpAtRate);
+
+	// handle touch devices
+	PlayerInputComponent->BindTouch(IE_Pressed, this, &ARaanCharacter::TouchStarted);
+	PlayerInputComponent->BindTouch(IE_Released, this, &ARaanCharacter::TouchStopped);
+
+	// VR headset functionality
+	PlayerInputComponent->BindAction("ResetVR", IE_Pressed, this, &ARaanCharacter::OnResetVR);
+}
+
+
+void ARaanCharacter::OnResetVR()
+{
+	UHeadMountedDisplayFunctionLibrary::ResetOrientationAndPosition();
+}
+
+void ARaanCharacter::TouchStarted(ETouchIndex::Type FingerIndex, FVector Location)
+{
+		Jump();
+}
+
+void ARaanCharacter::TouchStopped(ETouchIndex::Type FingerIndex, FVector Location)
+{
+		StopJumping();
+}
+
+void ARaanCharacter::TurnAtRate(float Rate)
+{
+	// calculate delta for this frame from the rate information
+	AddControllerYawInput(Rate * BaseTurnRate * GetWorld()->GetDeltaSeconds());
+}
+
+void ARaanCharacter::LookUpAtRate(float Rate)
+{
+	// calculate delta for this frame from the rate information
+	AddControllerPitchInput(Rate * BaseLookUpRate * GetWorld()->GetDeltaSeconds());
+}
+
+void ARaanCharacter::MoveForward(float Value)
+{
+	if ((Controller != NULL) && (Value != 0.0f))
+	{
+		// find out which way is forward
+		const FRotator Rotation = Controller->GetControlRotation();
+		const FRotator YawRotation(0, Rotation.Yaw, 0);
+
+		// get forward vector
+		const FVector Direction = FRotationMatrix(YawRotation).GetUnitAxis(EAxis::X);
+		AddMovementInput(Direction, Value);
+	}
+}
+
+void ARaanCharacter::MoveRight(float Value)
+{
+	if ( (Controller != NULL) && (Value != 0.0f) )
+	{
+		// find out which way is right
+		const FRotator Rotation = Controller->GetControlRotation();
+		const FRotator YawRotation(0, Rotation.Yaw, 0);
+	
+		// get right vector 
+		const FVector Direction = FRotationMatrix(YawRotation).GetUnitAxis(EAxis::Y);
+		// add movement in that direction
+		AddMovementInput(Direction, Value);
+	}
+}
+
+
+void ARaanCharacter::ToggleTarget()
+{
+}
+
+void ARaanCharacter::Interact() {
+	TArray<AActor*> candidates;
+	TargetVolume->GetOverlappingActors(candidates);
+
+	for (auto candidate : candidates) {
+		UInteractible* interactible = Cast<UInteractible>(candidate->FindComponentByClass(UInteractible::StaticClass()));
+		if (interactible && GEngine) {
+        	GEngine->AddOnScreenDebugMessage(-1, 15.0f, FColor::Yellow, "dummy interaction invoked");
+		}
+	}
+}

+ 82 - 0
Source/Raan/RaanCharacter.h

@@ -0,0 +1,82 @@
+// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
+
+#pragma once
+
+#include "CoreMinimal.h"
+#include "GameFramework/Character.h"
+#include "RaanCharacter.generated.h"
+
+UCLASS(config=Game)
+class ARaanCharacter : public ACharacter
+{
+	GENERATED_BODY()
+
+	/** Camera boom positioning the camera behind the character */
+	UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera, meta = (AllowPrivateAccess = "true"))
+	class USpringArmComponent* CameraBoom;
+
+	/** Follow camera */
+	UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera, meta = (AllowPrivateAccess = "true"))
+	class UCameraComponent* FollowCamera;
+
+	/** Target volume */
+	UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Character, meta = (AllowPrivateAccess = "true"))
+	class UCapsuleComponent* TargetVolume;
+
+public:
+	ARaanCharacter();
+
+	/** Base turn rate, in deg/sec. Other scaling may affect final turn rate. */
+	UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category=Camera)
+	float BaseTurnRate;
+
+	/** Base look up/down rate, in deg/sec. Other scaling may affect final rate. */
+	UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category=Camera)
+	float BaseLookUpRate;
+
+protected:
+
+	/** Resets HMD orientation in VR. */
+	void OnResetVR();
+
+	/** Called for forwards/backward input */
+	void MoveForward(float Value);
+
+	/** Called for side to side input */
+	void MoveRight(float Value);
+
+	/** 
+	 * Called via input to turn at a given rate. 
+	 * @param Rate	This is a normalized rate, i.e. 1.0 means 100% of desired turn rate
+	 */
+	void TurnAtRate(float Rate);
+
+	/**
+	 * Called via input to turn look up/down at a given rate. 
+	 * @param Rate	This is a normalized rate, i.e. 1.0 means 100% of desired turn rate
+	 */
+	void LookUpAtRate(float Rate);
+
+	/** Handler for when a touch input begins. */
+	void TouchStarted(ETouchIndex::Type FingerIndex, FVector Location);
+
+	/** Handler for when a touch input stops. */
+	void TouchStopped(ETouchIndex::Type FingerIndex, FVector Location);
+
+	void ToggleTarget();
+	void Interact();
+
+protected:
+	// APawn interface
+	virtual void SetupPlayerInputComponent(class UInputComponent* PlayerInputComponent) override;
+	// End of APawn interface
+
+public:
+	/** Returns CameraBoom subobject **/
+	FORCEINLINE class USpringArmComponent* GetCameraBoom() const { return CameraBoom; }
+	/** Returns FollowCamera subobject **/
+	FORCEINLINE class UCameraComponent* GetFollowCamera() const { return FollowCamera; }
+	/** Returns FollowCamera subobject **/
+	FORCEINLINE class UCapsuleComponent* GetTargetVolume() const { return TargetVolume; }
+};
+

+ 15 - 0
Source/Raan/RaanGameMode.cpp

@@ -0,0 +1,15 @@
+// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
+
+#include "RaanGameMode.h"
+#include "RaanCharacter.h"
+#include "UObject/ConstructorHelpers.h"
+
+ARaanGameMode::ARaanGameMode()
+{
+	// set default pawn class to our Blueprinted character
+	static ConstructorHelpers::FClassFinder<APawn> PlayerPawnBPClass(TEXT("/Game/ThirdPersonCPP/Blueprints/ThirdPersonCharacter"));
+	if (PlayerPawnBPClass.Class != NULL)
+	{
+		DefaultPawnClass = PlayerPawnBPClass.Class;
+	}
+}

+ 19 - 0
Source/Raan/RaanGameMode.h

@@ -0,0 +1,19 @@
+// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
+
+#pragma once
+
+#include "CoreMinimal.h"
+#include "GameFramework/GameModeBase.h"
+#include "RaanGameMode.generated.h"
+
+UCLASS(minimalapi)
+class ARaanGameMode : public AGameModeBase
+{
+	GENERATED_BODY()
+
+public:
+	ARaanGameMode();
+};
+
+
+

+ 13 - 0
Source/RaanEditor.Target.cs

@@ -0,0 +1,13 @@
+// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
+
+using UnrealBuildTool;
+using System.Collections.Generic;
+
+public class RaanEditorTarget : TargetRules
+{
+	public RaanEditorTarget(TargetInfo Target) : base(Target)
+	{
+		Type = TargetType.Editor;
+		ExtraModuleNames.Add("Raan");
+	}
+}