diff --git a/Assets/DefaultPrefabObjects.asset b/Assets/DefaultPrefabObjects.asset index f0bbbe06..ca74b4a5 100644 --- a/Assets/DefaultPrefabObjects.asset +++ b/Assets/DefaultPrefabObjects.asset @@ -22,6 +22,7 @@ MonoBehaviour: - {fileID: 201277550, guid: 5b712878ecece354ba4ffb026c0a221c, type: 3} - {fileID: 6486868354670318784, guid: ab80b9a343dfa4c4b93abcde04f97f7c, type: 3} - {fileID: 4512293259955182956, guid: b8017cef39731ba439c70fecc09488e3, type: 3} + - {fileID: 5587832464535924346, guid: bc1373177ca13d8418f05b9dd87d621e, type: 3} - {fileID: 4512293259955182956, guid: 44611030e61220d42ab7c37ba3c0ea92, type: 3} - {fileID: 8192566354860284824, guid: 6331b3542e64a564c81bc39cedf70c8d, type: 3} - {fileID: 4512293259955182956, guid: f32d4c19de900e64cb73cedcb8ba6f70, type: 3} diff --git a/Assets/Features/VoxelWorld/Prefabs/MainCamera.prefab b/Assets/Features/VoxelWorld/Prefabs/MainCamera.prefab new file mode 100644 index 00000000..508b114c --- /dev/null +++ b/Assets/Features/VoxelWorld/Prefabs/MainCamera.prefab @@ -0,0 +1,160 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &5177362097893586452 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2155430825551146630} + - component: {fileID: 8957384475855038515} + - component: {fileID: 2868274918310715830} + - component: {fileID: 7814884211758925764} + - component: {fileID: 5507089623476542463} + m_Layer: 0 + m_Name: MainCamera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2155430825551146630 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5177362097893586452} + serializedVersion: 2 + m_LocalRotation: {x: 0.2778159, y: 0.3649717, z: -0.115075134, w: 0.88111955} + m_LocalPosition: {x: 8, y: 12, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!20 &8957384475855038515 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5177362097893586452} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 300 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!81 &2868274918310715830 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5177362097893586452} + m_Enabled: 1 +--- !u!114 &7814884211758925764 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5177362097893586452} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.UniversalAdditionalCameraData + m_RenderShadows: 1 + m_RequiresDepthTextureOption: 2 + m_RequiresOpaqueTextureOption: 2 + m_CameraType: 0 + m_Cameras: [] + m_RendererIndex: -1 + m_VolumeLayerMask: + serializedVersion: 2 + m_Bits: 1 + m_VolumeTrigger: {fileID: 0} + m_VolumeFrameworkUpdateModeOption: 2 + m_RenderPostProcessing: 0 + m_Antialiasing: 0 + m_AntialiasingQuality: 2 + m_StopNaN: 0 + m_Dithering: 0 + m_ClearDepth: 1 + m_AllowXRRendering: 1 + m_AllowHDROutput: 1 + m_UseScreenCoordOverride: 0 + m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0} + m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0} + m_RequiresDepthTexture: 0 + m_RequiresColorTexture: 0 + m_TaaSettings: + m_Quality: 3 + m_FrameInfluence: 0.1 + m_JitterScale: 1 + m_MipBias: 0 + m_VarianceClampScale: 0.9 + m_ContrastAdaptiveSharpening: 0 + m_Version: 2 +--- !u!114 &5507089623476542463 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5177362097893586452} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9cd37f3ec0bf4c66960bab1545ac666f, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Players.CameraFollow + _componentIndexCache: 0 + _addedNetworkObject: {fileID: 0} + _networkObjectCache: {fileID: 0} + _offset: {x: -10, y: 15, z: -10} + _rotation: {x: 45, y: 45, z: 0} + _target: {fileID: 0} + _orbitAngle: 0 + _mouseOrbitSensitivity: 180 diff --git a/Assets/Features/VoxelWorld/Prefabs/MainCamera.prefab.meta b/Assets/Features/VoxelWorld/Prefabs/MainCamera.prefab.meta new file mode 100644 index 00000000..0c36a977 --- /dev/null +++ b/Assets/Features/VoxelWorld/Prefabs/MainCamera.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: bc1373177ca13d8418f05b9dd87d621e +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Features/VoxelWorld/Prefabs/TestPlayer.prefab b/Assets/Features/VoxelWorld/Prefabs/TestPlayer.prefab index 5be71cf4..ca54828c 100644 --- a/Assets/Features/VoxelWorld/Prefabs/TestPlayer.prefab +++ b/Assets/Features/VoxelWorld/Prefabs/TestPlayer.prefab @@ -1,5 +1,163 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1 &4229103394069051166 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6953774078570393484} + - component: {fileID: 82861378256693561} + - component: {fileID: 6532273981309083836} + - component: {fileID: 1233264528206448334} + - component: {fileID: 3532080573254851317} + m_Layer: 0 + m_Name: MainCamera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6953774078570393484 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4229103394069051166} + serializedVersion: 2 + m_LocalRotation: {x: 0.35355338, y: 0.35355338, z: -0.1464466, w: 0.8535535} + m_LocalPosition: {x: -10, y: 15, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 223370878831388739} + m_LocalEulerAnglesHint: {x: 45, y: 45, z: 0} +--- !u!20 &82861378256693561 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4229103394069051166} + m_Enabled: 0 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 300 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!81 &6532273981309083836 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4229103394069051166} + m_Enabled: 1 +--- !u!114 &1233264528206448334 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4229103394069051166} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.UniversalAdditionalCameraData + m_RenderShadows: 1 + m_RequiresDepthTextureOption: 2 + m_RequiresOpaqueTextureOption: 2 + m_CameraType: 0 + m_Cameras: [] + m_RendererIndex: -1 + m_VolumeLayerMask: + serializedVersion: 2 + m_Bits: 1 + m_VolumeTrigger: {fileID: 0} + m_VolumeFrameworkUpdateModeOption: 2 + m_RenderPostProcessing: 0 + m_Antialiasing: 0 + m_AntialiasingQuality: 2 + m_StopNaN: 0 + m_Dithering: 0 + m_ClearDepth: 1 + m_AllowXRRendering: 1 + m_AllowHDROutput: 1 + m_UseScreenCoordOverride: 0 + m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0} + m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0} + m_RequiresDepthTexture: 0 + m_RequiresColorTexture: 0 + m_TaaSettings: + m_Quality: 3 + m_FrameInfluence: 0.1 + m_JitterScale: 1 + m_MipBias: 0 + m_VarianceClampScale: 0.9 + m_ContrastAdaptiveSharpening: 0 + m_Version: 2 +--- !u!114 &3532080573254851317 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4229103394069051166} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9cd37f3ec0bf4c66960bab1545ac666f, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Players.CameraFollow + _componentIndexCache: 0 + _addedNetworkObject: {fileID: 6486868354670318784} + _networkObjectCache: {fileID: 0} + _offset: {x: -10, y: 15, z: -10} + _rotation: {x: 45, y: 45, z: 0} + _target: {fileID: 223370878831388739} + _orbitAngle: 0 + _mouseOrbitSensitivity: 180 --- !u!1 &4648252273784777908 GameObject: m_ObjectHideFlags: 0 @@ -17,6 +175,7 @@ GameObject: - component: {fileID: -8563501143336689971} - component: {fileID: 9116505237391369033} - component: {fileID: 589237069399113730} + - component: {fileID: 5771682633975047943} m_Layer: 0 m_Name: TestPlayer m_TagString: Untagged @@ -36,7 +195,8 @@ Transform: m_LocalPosition: {x: 0, y: 1, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: [] + m_Children: + - {fileID: 6953774078570393484} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &3666431777996120290 @@ -73,6 +233,7 @@ MeshRenderer: m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} + - {fileID: 2100000, guid: 01c6913c53e417748bef75656d45169d, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -151,7 +312,7 @@ MonoBehaviour: _initializeOrder: 0 _preventDespawnOnDisconnect: 0 _defaultDespawnType: 0 - _initializedTimestamp: -8584260413153218752 + _initializedTimestamp: -8584260344466227969 _localLevelOfDetailCalculationType: 0 _useLevelOfDetail: 0 _useRootLevelOfDetail: 1 @@ -172,7 +333,7 @@ MonoBehaviour: _teleportThreshold: 1 k__BackingField: 7 k__BackingField: 0 - k__BackingField: 13376045637011561578 + k__BackingField: 13006684163472284730 SceneId: 0 SerializedTransformProperties: Position: {x: 0, y: 1, z: 0} @@ -282,3 +443,22 @@ MonoBehaviour: _networkObjectCache: {fileID: 6486868354670318784} _moveSpeed: 200 _characterController: {fileID: 9116505237391369033} +--- !u!114 &5771682633975047943 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4648252273784777908} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9da7d22d0c6d4292ab5d5c0c93ed65af, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Players.PlayerRevealController + _componentIndexCache: 255 + _addedNetworkObject: {fileID: 6486868354670318784} + _networkObjectCache: {fileID: 0} + _center: {fileID: 223370878831388739} + _revealRadius: 6 + _edgeSoftness: 1 + _centerOffset: {x: 0, y: 0, z: 0} diff --git a/Assets/Features/VoxelWorld/Scenes/VoxelWorldTestScene.unity b/Assets/Features/VoxelWorld/Scenes/VoxelWorldTestScene.unity index 1396ced6..a8028415 100644 --- a/Assets/Features/VoxelWorld/Scenes/VoxelWorldTestScene.unity +++ b/Assets/Features/VoxelWorld/Scenes/VoxelWorldTestScene.unity @@ -285,18 +285,6 @@ PrefabInstance: serializedVersion: 3 m_TransformParent: {fileID: 0} m_Modifications: - - target: {fileID: 7443408887813606049, guid: 0b650fca685f2eb41a86538aa883e4c1, type: 3} - propertyPath: m_LocalPosition.x - value: 10.58689 - objectReference: {fileID: 0} - - target: {fileID: 7443408887813606049, guid: 0b650fca685f2eb41a86538aa883e4c1, type: 3} - propertyPath: m_LocalPosition.y - value: -9.02278 - objectReference: {fileID: 0} - - target: {fileID: 7443408887813606049, guid: 0b650fca685f2eb41a86538aa883e4c1, type: 3} - propertyPath: m_LocalPosition.z - value: -9.29275 - objectReference: {fileID: 0} - target: {fileID: 7443408887813606049, guid: 0b650fca685f2eb41a86538aa883e4c1, type: 3} propertyPath: m_LocalRotation.w value: 1 @@ -350,143 +338,6 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 0b650fca685f2eb41a86538aa883e4c1, type: 3} ---- !u!1 &1331065945 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1331065949} - - component: {fileID: 1331065948} - - component: {fileID: 1331065947} - - component: {fileID: 1331065946} - m_Layer: 0 - m_Name: Main Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1331065946 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1331065945} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3} - m_Name: - m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.UniversalAdditionalCameraData - m_RenderShadows: 1 - m_RequiresDepthTextureOption: 2 - m_RequiresOpaqueTextureOption: 2 - m_CameraType: 0 - m_Cameras: [] - m_RendererIndex: -1 - m_VolumeLayerMask: - serializedVersion: 2 - m_Bits: 1 - m_VolumeTrigger: {fileID: 0} - m_VolumeFrameworkUpdateModeOption: 2 - m_RenderPostProcessing: 0 - m_Antialiasing: 0 - m_AntialiasingQuality: 2 - m_StopNaN: 0 - m_Dithering: 0 - m_ClearDepth: 1 - m_AllowXRRendering: 1 - m_AllowHDROutput: 1 - m_UseScreenCoordOverride: 0 - m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0} - m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0} - m_RequiresDepthTexture: 0 - m_RequiresColorTexture: 0 - m_TaaSettings: - m_Quality: 3 - m_FrameInfluence: 0.1 - m_JitterScale: 1 - m_MipBias: 0 - m_VarianceClampScale: 0.9 - m_ContrastAdaptiveSharpening: 0 - m_Version: 2 ---- !u!81 &1331065947 -AudioListener: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1331065945} - m_Enabled: 1 ---- !u!20 &1331065948 -Camera: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1331065945} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} - m_projectionMatrixMode: 1 - m_GateFitMode: 2 - m_FOVAxisMode: 0 - m_Iso: 200 - m_ShutterSpeed: 0.005 - m_Aperture: 16 - m_FocusDistance: 10 - m_FocalLength: 50 - m_BladeCount: 5 - m_Curvature: {x: 2, y: 11} - m_BarrelClipping: 0.25 - m_Anamorphism: 0 - m_SensorSize: {x: 36, y: 24} - m_LensShift: {x: 0, y: 0} - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: 0.3 - far clip plane: 300 - field of view: 60 - orthographic: 0 - orthographic size: 5 - m_Depth: 0 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 1 - m_AllowMSAA: 1 - m_AllowDynamicResolution: 0 - m_ForceIntoRT: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: 0.022 ---- !u!4 &1331065949 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1331065945} - serializedVersion: 2 - m_LocalRotation: {x: 0.2778159, y: 0.3649717, z: -0.115075134, w: 0.88111955} - m_LocalPosition: {x: 8, y: 12, z: -10} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &6493552143235564167 PrefabInstance: m_ObjectHideFlags: 0 @@ -542,7 +393,7 @@ PrefabInstance: - target: {fileID: 2927522923773808063, guid: 91b5caa5457131b4f8c542529f4ad7c3, type: 3} propertyPath: streamTarget value: - objectReference: {fileID: 1331065949} + objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] @@ -552,7 +403,6 @@ PrefabInstance: SceneRoots: m_ObjectHideFlags: 0 m_Roots: - - {fileID: 1331065949} - {fileID: 47249972} - {fileID: 6493552143235564167} - {fileID: 1165873058} diff --git a/Assets/Materials.meta b/Assets/Materials.meta new file mode 100644 index 00000000..adcc1fda --- /dev/null +++ b/Assets/Materials.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7e370644e63186544ad98ca7578cb001 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Materials/PlayerRevealUnlit.mat b/Assets/Materials/PlayerRevealUnlit.mat new file mode 100644 index 00000000..f83fe0e0 --- /dev/null +++ b/Assets/Materials/PlayerRevealUnlit.mat @@ -0,0 +1,139 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: PlayerRevealUnlit + m_Shader: {fileID: 4800000, guid: 09e1c4f7331d42fda781999d558d2841, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 2800000, guid: dffef66376be4fa480fb02b19edbe903, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddPrecomputedVelocity: 0 + - _Alpha: 1 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EdgeSoftness: 2.76 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _RevealRadius: 11.83 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _XRMotionVectorsPass: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 0.49056602, g: 0.49056602, b: 0.49056602, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!114 &6329224151418787501 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion + version: 10 diff --git a/Assets/Materials/PlayerRevealUnlit.mat.meta b/Assets/Materials/PlayerRevealUnlit.mat.meta new file mode 100644 index 00000000..75a3f101 --- /dev/null +++ b/Assets/Materials/PlayerRevealUnlit.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 01c6913c53e417748bef75656d45169d +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Players/CameraFollow.cs b/Assets/Scripts/Players/CameraFollow.cs new file mode 100644 index 00000000..ee50cad0 --- /dev/null +++ b/Assets/Scripts/Players/CameraFollow.cs @@ -0,0 +1,42 @@ +using FishNet.Object; +using UnityEngine; + +namespace Players +{ + [RequireComponent(typeof(Camera))] + public sealed class CameraFollow : NetworkBehaviour + { + [SerializeField] private Vector3 _offset = new(-10, 15, -10); + [SerializeField] private Vector3 _rotation = new(45, 45, 0); + [SerializeField] private Transform _target; + [SerializeField, Range(0f, 360f)] private float _orbitAngle; + [SerializeField] private float _mouseOrbitSensitivity = 180f; + + private float _mouseOrbitAngle; + + public override void OnStartClient() + { + base.OnStartClient(); + + if(!IsOwner) + return; + + Camera cam = GetComponent(); + cam.enabled = true; + } + + private void Update() + { + if(!IsOwner || _target == null) + return; + + if (Input.GetMouseButton(1)) + _mouseOrbitAngle += Input.GetAxis("Mouse X") * _mouseOrbitSensitivity * Time.deltaTime; + + var orbitRotation = Quaternion.Euler(0f, _orbitAngle + _mouseOrbitAngle, 0f); + + transform.position = _target.position + orbitRotation * _offset; + transform.rotation = orbitRotation * Quaternion.Euler(_rotation); + } + } +} diff --git a/Assets/Scripts/Players/CameraFollow.cs.meta b/Assets/Scripts/Players/CameraFollow.cs.meta new file mode 100644 index 00000000..ab905e07 --- /dev/null +++ b/Assets/Scripts/Players/CameraFollow.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 9cd37f3ec0bf4c66960bab1545ac666f +timeCreated: 1775572726 \ No newline at end of file diff --git a/Assets/Scripts/Players/PlayerMoving.cs b/Assets/Scripts/Players/PlayerMoving.cs index 4968e3af..5e59a7d2 100644 --- a/Assets/Scripts/Players/PlayerMoving.cs +++ b/Assets/Scripts/Players/PlayerMoving.cs @@ -1,4 +1,3 @@ -using System; using FishNet.Object; using UnityEngine; @@ -8,6 +7,15 @@ namespace Players { [SerializeField] private float _moveSpeed = 5f; [SerializeField] private CharacterController _characterController; + + private Transform _cameraTransform; + + private void Awake() + { + Camera playerCamera = GetComponentInChildren(true); + if (playerCamera != null) + _cameraTransform = playerCamera.transform; + } private void Update() { @@ -16,10 +24,14 @@ namespace Players float horizontal = Input.GetAxisRaw("Horizontal"); float vertical = Input.GetAxisRaw("Vertical"); - - Vector3 offset = new Vector3(horizontal, Physics.gravity.y, vertical).normalized * (_moveSpeed * Time.deltaTime); + + Transform directionSource = _cameraTransform != null ? _cameraTransform : transform; + Vector3 forward = Vector3.ProjectOnPlane(directionSource.forward, Vector3.up).normalized; + Vector3 right = Vector3.ProjectOnPlane(directionSource.right, Vector3.up).normalized; + Vector3 moveDirection = (right * horizontal + forward * vertical).normalized; + Vector3 offset = moveDirection * (_moveSpeed * Time.deltaTime); _characterController.Move(offset); } } -} \ No newline at end of file +} diff --git a/Assets/Scripts/Players/PlayerRevealController.cs b/Assets/Scripts/Players/PlayerRevealController.cs new file mode 100644 index 00000000..a914f50e --- /dev/null +++ b/Assets/Scripts/Players/PlayerRevealController.cs @@ -0,0 +1,65 @@ +using FishNet.Object; +using UnityEngine; + +namespace Players +{ + public sealed class PlayerRevealController : NetworkBehaviour + { + private static readonly int RevealCenterId = Shader.PropertyToID("_RevealCenter"); + private static readonly int RevealRadiusId = Shader.PropertyToID("_GlobalRevealRadius"); + private static readonly int RevealEdgeSoftnessId = Shader.PropertyToID("_GlobalRevealEdgeSoftness"); + + [SerializeField] private Transform _center; + [SerializeField, Min(0f)] private float _revealRadius = 6f; + [SerializeField, Min(0.001f)] private float _edgeSoftness = 1f; + [SerializeField] private Vector3 _centerOffset; + + public override void OnStartClient() + { + base.OnStartClient(); + UpdateShaderGlobals(); + } + + public override void OnStopClient() + { + if (IsOwner) + ClearShaderGlobals(); + + base.OnStopClient(); + } + + private void LateUpdate() + { + if (!IsOwner) + return; + + UpdateShaderGlobals(); + } + + private void OnDisable() + { + if (IsOwner) + ClearShaderGlobals(); + } + + private void UpdateShaderGlobals() + { + if (!IsOwner) + return; + + Transform center = _center != null ? _center : transform; + Vector3 worldCenter = center.position + _centerOffset; + + Shader.SetGlobalVector(RevealCenterId, new Vector4(worldCenter.x, worldCenter.y, worldCenter.z, 1f)); + Shader.SetGlobalFloat(RevealRadiusId, _revealRadius); + Shader.SetGlobalFloat(RevealEdgeSoftnessId, _edgeSoftness); + } + + private void ClearShaderGlobals() + { + Shader.SetGlobalVector(RevealCenterId, Vector4.zero); + Shader.SetGlobalFloat(RevealRadiusId, 0f); + Shader.SetGlobalFloat(RevealEdgeSoftnessId, 0f); + } + } +} diff --git a/Assets/Scripts/Players/PlayerRevealController.cs.meta b/Assets/Scripts/Players/PlayerRevealController.cs.meta new file mode 100644 index 00000000..17afff93 --- /dev/null +++ b/Assets/Scripts/Players/PlayerRevealController.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 9da7d22d0c6d4292ab5d5c0c93ed65af +timeCreated: 1775565000 diff --git a/Assets/Shaders.meta b/Assets/Shaders.meta new file mode 100644 index 00000000..13fb2c3e --- /dev/null +++ b/Assets/Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8e0775f178f244708fcd2e68163654f1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/RadiusRevealUnlit.shader b/Assets/Shaders/RadiusRevealUnlit.shader new file mode 100644 index 00000000..57ff55bd --- /dev/null +++ b/Assets/Shaders/RadiusRevealUnlit.shader @@ -0,0 +1,92 @@ +Shader "The Decline Of Warriors/Radius Reveal Unlit" +{ + Properties + { + _BaseMap("Base Map", 2D) = "white" {} + _BaseColor("Base Color", Color) = (1, 1, 1, 1) + _RevealRadius("Reveal Radius", Float) = 6 + _EdgeSoftness("Edge Softness", Float) = 1 + _Alpha("Alpha", Range(0, 1)) = 1 + } + + SubShader + { + Tags + { + "RenderType"="Transparent" + "Queue"="Transparent" + "RenderPipeline"="UniversalPipeline" + } + + Pass + { + Name "RadiusReveal" + Tags { "LightMode"="UniversalForward" } + + Blend SrcAlpha OneMinusSrcAlpha + Cull Back + ZWrite Off + ZTest Always + + HLSLPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma target 2.0 + + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" + + TEXTURE2D(_BaseMap); + SAMPLER(sampler_BaseMap); + + CBUFFER_START(UnityPerMaterial) + float4 _BaseMap_ST; + half4 _BaseColor; + float _RevealRadius; + float _EdgeSoftness; + float _Alpha; + CBUFFER_END + + float4 _RevealCenter; + float _GlobalRevealRadius; + float _GlobalRevealEdgeSoftness; + + struct Attributes + { + float4 positionOS : POSITION; + float2 uv : TEXCOORD0; + }; + + struct Varyings + { + float4 positionHCS : SV_POSITION; + float2 uv : TEXCOORD0; + float3 positionWS : TEXCOORD1; + }; + + Varyings vert(Attributes input) + { + Varyings output; + VertexPositionInputs positionInputs = GetVertexPositionInputs(input.positionOS.xyz); + output.positionHCS = positionInputs.positionCS; + output.positionWS = positionInputs.positionWS; + output.uv = TRANSFORM_TEX(input.uv, _BaseMap); + return output; + } + + half4 frag(Varyings input) : SV_Target + { + float radius = _GlobalRevealRadius > 0.0 ? _GlobalRevealRadius : _RevealRadius; + float softness = _GlobalRevealEdgeSoftness > 0.0 ? _GlobalRevealEdgeSoftness : _EdgeSoftness; + float distanceToCenter = distance(input.positionWS, _RevealCenter.xyz); + float mask = 1.0 - smoothstep(radius - softness, radius, distanceToCenter); + + clip(mask - 0.001); + + half4 albedo = SAMPLE_TEXTURE2D(_BaseMap, sampler_BaseMap, input.uv) * _BaseColor; + albedo.a *= mask * _Alpha; + return albedo; + } + ENDHLSL + } + } +} diff --git a/Assets/Shaders/RadiusRevealUnlit.shader.meta b/Assets/Shaders/RadiusRevealUnlit.shader.meta new file mode 100644 index 00000000..993969ed --- /dev/null +++ b/Assets/Shaders/RadiusRevealUnlit.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 09e1c4f7331d42fda781999d558d2841 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: