destroyed proj
This commit is contained in:
3
Packages/SzafaKit/Runtime/FPPKit/Assets.meta
Normal file
3
Packages/SzafaKit/Runtime/FPPKit/Assets.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7a00ec43839d44daa7299ac6322e2eee
|
||||
timeCreated: 1741791656
|
||||
@@ -0,0 +1,33 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 43f38c326fd565e46a29f30e4f20031b, type: 3}
|
||||
m_Name: FPP PlayerController
|
||||
m_EditorClassIdentifier:
|
||||
_config:
|
||||
FPPSetupAsset:
|
||||
m_AssetGUID: c5a555fd0308dc546b2a31af07869f90
|
||||
m_SubObjectName:
|
||||
m_SubObjectGUID:
|
||||
m_SubObjectType:
|
||||
m_EditorAssetChanged: 0
|
||||
MoveActionReference: {fileID: -2772844096359753972, guid: f991e9abd9a53ee4b94b329a5ce96cb2,
|
||||
type: 3}
|
||||
LookActionReference: {fileID: -5746443703610909298, guid: f991e9abd9a53ee4b94b329a5ce96cb2,
|
||||
type: 3}
|
||||
JumpActionReference: {fileID: 2789365106649255415, guid: f991e9abd9a53ee4b94b329a5ce96cb2,
|
||||
type: 3}
|
||||
DragObjectActionReference: {fileID: 2331847964233633448, guid: f991e9abd9a53ee4b94b329a5ce96cb2,
|
||||
type: 3}
|
||||
PrimaryActionReference: {fileID: 7005240712943983493, guid: f991e9abd9a53ee4b94b329a5ce96cb2,
|
||||
type: 3}
|
||||
SecondaryActionReference: {fileID: -1076036341132388265, guid: f991e9abd9a53ee4b94b329a5ce96cb2,
|
||||
type: 3}
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9d6ffec340675ff46a2c932a4a0b4bd6
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Packages/SzafaKit/Runtime/FPPKit/Assets/Prefabs.meta
Normal file
8
Packages/SzafaKit/Runtime/FPPKit/Assets/Prefabs.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8811a3c5f762a1844abd9e3e0426f204
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
427
Packages/SzafaKit/Runtime/FPPKit/Assets/Prefabs/FPPSetup.prefab
Normal file
427
Packages/SzafaKit/Runtime/FPPKit/Assets/Prefabs/FPPSetup.prefab
Normal file
@@ -0,0 +1,427 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1633378644400006462
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 5635006187901299347}
|
||||
- component: {fileID: 8754676140351214484}
|
||||
m_Layer: 0
|
||||
m_Name: FPP Camera
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &5635006187901299347
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1633378644400006462}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 1.75, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 4109293979719759325}
|
||||
- {fileID: 5003790919823188963}
|
||||
m_Father: {fileID: 7761779135599839476}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &8754676140351214484
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1633378644400006462}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_ExcludedPropertiesInInspector:
|
||||
- m_Script
|
||||
m_LockStageInInspector:
|
||||
m_StreamingVersion: 20170927
|
||||
m_Priority: 10
|
||||
m_StandbyUpdate: 2
|
||||
m_LookAt: {fileID: 0}
|
||||
m_Follow: {fileID: 0}
|
||||
m_Lens:
|
||||
FieldOfView: 80
|
||||
OrthographicSize: 5
|
||||
NearClipPlane: 0.3
|
||||
FarClipPlane: 1000
|
||||
Dutch: 0
|
||||
ModeOverride: 0
|
||||
LensShift: {x: 0, y: 0}
|
||||
GateFit: 2
|
||||
FocusDistance: 10
|
||||
m_SensorSize: {x: 1, y: 1}
|
||||
m_Transitions:
|
||||
m_BlendHint: 0
|
||||
m_InheritPosition: 0
|
||||
m_OnCameraLive:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_LegacyBlendHint: 0
|
||||
m_ComponentOwner: {fileID: 4109293979719759325}
|
||||
--- !u!1 &6086846679135428685
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7761779135599839476}
|
||||
- component: {fileID: 1018448983365033889}
|
||||
- component: {fileID: 8903325519720751579}
|
||||
- component: {fileID: 2870607051570670034}
|
||||
- component: {fileID: 7282522638044830840}
|
||||
- component: {fileID: 2402344678768307677}
|
||||
m_Layer: 0
|
||||
m_Name: FPPSetup
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &7761779135599839476
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6086846679135428685}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 5635006187901299347}
|
||||
- {fileID: 5117685723249707591}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1018448983365033889
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6086846679135428685}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: aaa2199caa5cc4d4caf0677e0fe43a1b, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
<Locomotion>k__BackingField: {fileID: 2870607051570670034}
|
||||
<FPPCamera>k__BackingField: {fileID: 7282522638044830840}
|
||||
<Dragger>k__BackingField: {fileID: 2402344678768307677}
|
||||
<DragObjectDistanceFromCamera>k__BackingField: 2
|
||||
--- !u!143 &8903325519720751579
|
||||
CharacterController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6086846679135428685}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Height: 2
|
||||
m_Radius: 0.5
|
||||
m_SlopeLimit: 45
|
||||
m_StepOffset: 0.3
|
||||
m_SkinWidth: 0.08
|
||||
m_MinMoveDistance: 0.001
|
||||
m_Center: {x: 0, y: 1, z: 0}
|
||||
--- !u!114 &2870607051570670034
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6086846679135428685}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 6e909888e8f2465fb2f032b66bbd20a4, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_characterController: {fileID: 8903325519720751579}
|
||||
_maxMovementSpeed: 4
|
||||
_maxSprintSpeed: 15
|
||||
_jumpHeight: 1
|
||||
_gravity: 10
|
||||
_maxFallSpeed: 20
|
||||
_damping: 20
|
||||
--- !u!114 &7282522638044830840
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6086846679135428685}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b82691de261d95842bde9bca81db0893, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_pickDistance: 5
|
||||
_pickLayer:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
<Sensitivity>k__BackingField: 0.5
|
||||
_pitchMin: -80
|
||||
_pitchMax: 80
|
||||
<Camera>k__BackingField: {fileID: 8754676140351214484}
|
||||
--- !u!114 &2402344678768307677
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6086846679135428685}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 8498955cf5ff17145aa4bbd96edd8ca6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
<DampingFactor>k__BackingField: 1
|
||||
<AngularSlowdown>k__BackingField: 90
|
||||
<DragForce>k__BackingField: 50
|
||||
--- !u!1 &7286498852570965723
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 5117685723249707591}
|
||||
- component: {fileID: 7327033897601353362}
|
||||
- component: {fileID: 1858263895917388134}
|
||||
m_Layer: 0
|
||||
m_Name: Capsule
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &5117685723249707591
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7286498852570965723}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 1, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 7761779135599839476}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &7327033897601353362
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7286498852570965723}
|
||||
m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!23 &1858263895917388134
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7286498852570965723}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||
m_RayTracingAccelStructBuildFlags: 1
|
||||
m_SmallMeshCulling: 1
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!1 &8024233446654794244
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4109293979719759325}
|
||||
- component: {fileID: 8312648709817428832}
|
||||
m_Layer: 0
|
||||
m_Name: cm
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &4109293979719759325
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8024233446654794244}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 5635006187901299347}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &8312648709817428832
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8024233446654794244}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1001 &4826645119771837448
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 5635006187901299347}
|
||||
m_Modifications:
|
||||
- target: {fileID: -8679921383154817045, guid: 85f6fd2cdaf4a644d85dea4d14913b20,
|
||||
type: 3}
|
||||
propertyPath: m_LocalScale.x
|
||||
value: 0.35162827
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 85f6fd2cdaf4a644d85dea4d14913b20,
|
||||
type: 3}
|
||||
propertyPath: m_LocalScale.y
|
||||
value: 0.35162827
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 85f6fd2cdaf4a644d85dea4d14913b20,
|
||||
type: 3}
|
||||
propertyPath: m_LocalScale.z
|
||||
value: 0.35162827
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 85f6fd2cdaf4a644d85dea4d14913b20,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 85f6fd2cdaf4a644d85dea4d14913b20,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: -0.134
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 85f6fd2cdaf4a644d85dea4d14913b20,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 85f6fd2cdaf4a644d85dea4d14913b20,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 0.70710653
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 85f6fd2cdaf4a644d85dea4d14913b20,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 85f6fd2cdaf4a644d85dea4d14913b20,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0.70710707
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 85f6fd2cdaf4a644d85dea4d14913b20,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 85f6fd2cdaf4a644d85dea4d14913b20,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 85f6fd2cdaf4a644d85dea4d14913b20,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 90
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 85f6fd2cdaf4a644d85dea4d14913b20,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 919132149155446097, guid: 85f6fd2cdaf4a644d85dea4d14913b20,
|
||||
type: 3}
|
||||
propertyPath: m_Name
|
||||
value: Player_Arms
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 85f6fd2cdaf4a644d85dea4d14913b20, type: 3}
|
||||
--- !u!4 &5003790919823188963 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 85f6fd2cdaf4a644d85dea4d14913b20,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 4826645119771837448}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c5a555fd0308dc546b2a31af07869f90
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
3
Packages/SzafaKit/Runtime/FPPKit/Code.meta
Normal file
3
Packages/SzafaKit/Runtime/FPPKit/Code.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7f520f359bd34f48b97ce13443381090
|
||||
timeCreated: 1741791644
|
||||
29
Packages/SzafaKit/Runtime/FPPKit/Code/FPPActor.cs
Normal file
29
Packages/SzafaKit/Runtime/FPPKit/Code/FPPActor.cs
Normal file
@@ -0,0 +1,29 @@
|
||||
using RebootKit.Engine.Services.Simulation;
|
||||
using RebootKit.Engine.Services.Simulation.Characters;
|
||||
using UnityEngine;
|
||||
|
||||
namespace RebootKit.FPPKit {
|
||||
public class FPPActor : Actor {
|
||||
[field: SerializeField]
|
||||
public CharacterLocomotion Locomotion { get; private set; }
|
||||
|
||||
[field: SerializeField]
|
||||
public FirstPersonCamera FPPCamera { get; private set; }
|
||||
|
||||
[field: SerializeField]
|
||||
public PhysicsObjectDragger Dragger { get; private set; }
|
||||
|
||||
[field: SerializeField]
|
||||
public float DragObjectDistanceFromCamera { get; private set; } = 2.0f;
|
||||
|
||||
public void MoveRight(float input) {
|
||||
Vector3 direction = Quaternion.AngleAxis(FPPCamera.Yaw, Vector3.up) * Vector3.right;
|
||||
Locomotion.AddMovementInput(direction, input);
|
||||
}
|
||||
|
||||
public void MoveForward(float input) {
|
||||
Vector3 direction = Quaternion.AngleAxis(FPPCamera.Yaw, Vector3.up) * Vector3.forward;
|
||||
Locomotion.AddMovementInput(direction, input);
|
||||
}
|
||||
}
|
||||
}
|
||||
2
Packages/SzafaKit/Runtime/FPPKit/Code/FPPActor.cs.meta
Normal file
2
Packages/SzafaKit/Runtime/FPPKit/Code/FPPActor.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: aaa2199caa5cc4d4caf0677e0fe43a1b
|
||||
58
Packages/SzafaKit/Runtime/FPPKit/Code/FirstPersonCamera.cs
Normal file
58
Packages/SzafaKit/Runtime/FPPKit/Code/FirstPersonCamera.cs
Normal file
@@ -0,0 +1,58 @@
|
||||
using Cinemachine;
|
||||
using RebootKit.Engine.Services.Simulation.Sensors;
|
||||
using UnityEngine;
|
||||
|
||||
namespace RebootKit.FPPKit {
|
||||
public class FirstPersonCamera : MonoBehaviour {
|
||||
[SerializeField]
|
||||
private float _pickDistance = 5.0f;
|
||||
|
||||
[SerializeField]
|
||||
private LayerMask _pickLayer;
|
||||
|
||||
[field: SerializeField]
|
||||
public float Sensitivity { get; set; }
|
||||
|
||||
[SerializeField]
|
||||
private float _pitchMin = -80f;
|
||||
|
||||
[SerializeField]
|
||||
private float _pitchMax = 80f;
|
||||
|
||||
[field: SerializeField]
|
||||
public CinemachineVirtualCamera Camera { get; private set; }
|
||||
|
||||
public float Pitch { get; private set; }
|
||||
public float Yaw { get; private set; }
|
||||
|
||||
private readonly RaycastSensor _raycastSensor = new();
|
||||
|
||||
public ISensor Sensor {
|
||||
get {
|
||||
_raycastSensor.Ray = new Ray(Camera.transform.position, Camera.transform.forward);
|
||||
_raycastSensor.MaxDistance = _pickDistance;
|
||||
_raycastSensor.LayerMask = _pickLayer;
|
||||
return _raycastSensor;
|
||||
}
|
||||
}
|
||||
|
||||
private void LateUpdate() {
|
||||
Camera.transform.localRotation = Quaternion.Euler(Pitch, 0f, 0f);
|
||||
transform.rotation = Quaternion.Euler(0f, Yaw, 0f);
|
||||
}
|
||||
|
||||
public void Rotate(float x, float y) {
|
||||
float sens = Sensitivity;
|
||||
|
||||
Pitch -= y * sens;
|
||||
Pitch = Mathf.Clamp(Pitch, _pitchMin, _pitchMax);
|
||||
|
||||
Yaw += x * sens;
|
||||
}
|
||||
|
||||
public void SetLookDirection(Vector3 forward) {
|
||||
Pitch = Mathf.Asin(-forward.y) * Mathf.Rad2Deg;
|
||||
Yaw = Mathf.Atan2(forward.x, forward.z) * Mathf.Rad2Deg;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b82691de261d95842bde9bca81db0893
|
||||
93
Packages/SzafaKit/Runtime/FPPKit/Code/PlayerController.cs
Normal file
93
Packages/SzafaKit/Runtime/FPPKit/Code/PlayerController.cs
Normal file
@@ -0,0 +1,93 @@
|
||||
using System.Threading;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using RebootKit.Engine;
|
||||
using RebootKit.Engine.Foundation;
|
||||
using RebootKit.Engine.Services.Console;
|
||||
using RebootKit.Engine.Services.Input;
|
||||
using UnityEngine;
|
||||
using UnityEngine.AddressableAssets;
|
||||
using UnityEngine.InputSystem;
|
||||
|
||||
namespace RebootKit.FPPKit {
|
||||
public class PlayerController : IController {
|
||||
[System.Serializable]
|
||||
public class Config {
|
||||
public AssetReferenceT<GameObject> FPPSetupAsset;
|
||||
|
||||
public InputActionReference MoveActionReference;
|
||||
public InputActionReference LookActionReference;
|
||||
public InputActionReference JumpActionReference;
|
||||
public InputActionReference DragObjectActionReference;
|
||||
public InputActionReference PrimaryActionReference;
|
||||
public InputActionReference SecondaryActionReference;
|
||||
}
|
||||
|
||||
[CVar("fpp_cam_look_sens", 0.25f)]
|
||||
private CVar _sensitivityCVar;
|
||||
|
||||
[CVar("p_move_speed", 4.0f)]
|
||||
private CVar _movementSpeedCVar;
|
||||
|
||||
[Inject]
|
||||
private InputService _inputService;
|
||||
|
||||
private Config _config;
|
||||
private FPPActor _player;
|
||||
|
||||
public PlayerController(Config config) {
|
||||
_config = config;
|
||||
}
|
||||
|
||||
public void Dispose() {
|
||||
}
|
||||
|
||||
public async UniTask OnStart(CancellationToken cancellationToken) {
|
||||
_inputService.LockCursor();
|
||||
_inputService.EnableControls();
|
||||
|
||||
_sensitivityCVar = RR.CVarNumber("fpp_cam_look_sens", 0.25f);
|
||||
_movementSpeedCVar = RR.CVarNumber("p_move_speed", 4.0f);
|
||||
|
||||
_player = await RR.World().SpawnActor<FPPActor>(_config.FPPSetupAsset, cancellationToken);
|
||||
|
||||
await Awaitable.NextFrameAsync(cancellationToken);
|
||||
}
|
||||
|
||||
public void OnStop() {
|
||||
_inputService.DisableControls();
|
||||
_inputService.UnlockCursor();
|
||||
Object.Destroy(_player);
|
||||
|
||||
RR.World().KillActor(_player);
|
||||
}
|
||||
|
||||
public void OnTick() {
|
||||
_player.FPPCamera.Sensitivity = _sensitivityCVar.FloatValue;
|
||||
_player.Locomotion.MaxMovementSpeed = _movementSpeedCVar.FloatValue;
|
||||
|
||||
Vector2 lookInput = _config.LookActionReference.action.ReadValue<Vector2>();
|
||||
_player.FPPCamera.Rotate(lookInput.x, lookInput.y);
|
||||
|
||||
Vector2 moveInput = _config.MoveActionReference.action.ReadValue<Vector2>();
|
||||
_player.MoveRight(moveInput.x);
|
||||
_player.MoveForward(moveInput.y);
|
||||
|
||||
if (_config.JumpActionReference.action.WasPerformedThisFrame()) {
|
||||
_player.Locomotion.Jump();
|
||||
}
|
||||
|
||||
_player.Dragger.TargetWorldPosition = _player.FPPCamera.Camera.transform.position + _player.FPPCamera.Camera.transform.forward * _player.DragObjectDistanceFromCamera;
|
||||
|
||||
if (_config.DragObjectActionReference.action.WasPressedThisFrame() && !_player.Dragger.IsDragging) {
|
||||
GameObject pickedGameObject = _player.FPPCamera.Sensor.Sense();
|
||||
if (pickedGameObject != null && pickedGameObject.TryGetComponent(out Rigidbody rigidbody)) {
|
||||
_player.Dragger.Grab(rigidbody);
|
||||
}
|
||||
}
|
||||
|
||||
if (_config.DragObjectActionReference.action.WasReleasedThisFrame()) {
|
||||
_player.Dragger.Drop();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5e9f327e597f7d8489ee899941f7255a
|
||||
@@ -0,0 +1,15 @@
|
||||
using RebootKit.Engine;
|
||||
using RebootKit.Engine.Foundation;
|
||||
using UnityEngine;
|
||||
|
||||
namespace RebootKit.FPPKit {
|
||||
[CreateAssetMenu(menuName = RConsts.AssetMenu + "FPP/Player Controller")]
|
||||
public class PlayerControllerAsset : ControllerAsset {
|
||||
[SerializeField]
|
||||
private PlayerController.Config _config;
|
||||
|
||||
public override IController Create() {
|
||||
return new PlayerController(_config);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 43f38c326fd565e46a29f30e4f20031b
|
||||
20
Packages/SzafaKit/Runtime/FPPKit/RebootKit.FPPKit.asmdef
Normal file
20
Packages/SzafaKit/Runtime/FPPKit/RebootKit.FPPKit.asmdef
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"name": "RebootKit.FPPKit",
|
||||
"rootNamespace": "RebootKit.FPPKit",
|
||||
"references": [
|
||||
"GUID:284059c7949783646b281a1b815580e6",
|
||||
"GUID:f51ebe6a0ceec4240a699833d6309b23",
|
||||
"GUID:75469ad4d38634e559750d17036d5f7c",
|
||||
"GUID:4307f53044263cf4b835bd812fc161a4",
|
||||
"GUID:9e24947de15b9834991c9d8411ea37cf"
|
||||
],
|
||||
"includePlatforms": [],
|
||||
"excludePlatforms": [],
|
||||
"allowUnsafeCode": false,
|
||||
"overrideReferences": false,
|
||||
"precompiledReferences": [],
|
||||
"autoReferenced": true,
|
||||
"defineConstraints": [],
|
||||
"versionDefines": [],
|
||||
"noEngineReferences": false
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4d76b28af993d614f825cb34f438930f
|
||||
AssemblyDefinitionImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user