mirror of
https://github.com/MirrorNetworking/Mirror.git
synced 2024-11-18 02:50:32 +00:00
Compare commits
11 Commits
b32c6677c9
...
7c05eaf4ad
Author | SHA1 | Date | |
---|---|---|---|
|
7c05eaf4ad | ||
|
2ae310f16c | ||
|
724d3d4a8b | ||
|
1552aa2d4b | ||
|
e72ed7ed00 | ||
|
69ed42e02d | ||
|
9271ff5e7b | ||
|
4373ec921c | ||
|
8b906f16de | ||
|
7c43984050 | ||
|
92eec784d2 |
@ -102,6 +102,7 @@ public class NetworkTransformHybrid2022 : NetworkBehaviour
|
||||
|
||||
// debugging ///////////////////////////////////////////////////////////
|
||||
[Header("Debug")]
|
||||
public bool debugDraw;
|
||||
public bool showGizmos;
|
||||
public bool showOverlay;
|
||||
public Color overlayColor = new Color(0, 0, 0, 0.5f);
|
||||
@ -213,6 +214,11 @@ void CmdClientToServerBaseline_PositionRotation(byte baselineTick, Vector3 posit
|
||||
lastDeserializedBaselinePosition = position;
|
||||
lastDeserializedBaselineRotation = rotation;
|
||||
|
||||
// debug draw: baseline
|
||||
if (debugDraw) Debug.DrawLine(position, position + Vector3.up, Color.yellow, 10f);
|
||||
|
||||
Debug.Log($"{name} server received baseline: {baselineTick}");
|
||||
|
||||
// if baseline counts as delta, insert it into snapshot buffer too
|
||||
if (baselineIsDelta)
|
||||
OnClientToServerDeltaSync(baselineTick, position, rotation);//, scale);
|
||||
@ -224,6 +230,9 @@ void CmdClientToServerBaseline_Position(byte baselineTick, Vector3 position)
|
||||
lastDeserializedBaselineTick = baselineTick;
|
||||
lastDeserializedBaselinePosition = position;
|
||||
|
||||
// debug draw: baseline
|
||||
if (debugDraw) Debug.DrawLine(position, position + Vector3.up, Color.yellow, 10f);
|
||||
|
||||
// if baseline counts as delta, insert it into snapshot buffer too
|
||||
if (baselineIsDelta)
|
||||
OnClientToServerDeltaSync(baselineTick, position, Quaternion.identity);//, scale);
|
||||
@ -244,6 +253,9 @@ void CmdClientToServerBaseline_Rotation(byte baselineTick, Quaternion rotation)
|
||||
[Command(channel = Channels.Unreliable)] // unreliable delta
|
||||
void CmdClientToServerDelta_Position(byte baselineTick, Vector3 position)
|
||||
{
|
||||
// debug draw: delta
|
||||
if (debugDraw) Debug.DrawLine(position, position + Vector3.up, Color.white, 10f);
|
||||
|
||||
// Debug.Log($"[{name}] server received delta for baseline #{lastDeserializedBaselineTick}");
|
||||
OnClientToServerDeltaSync(baselineTick, position, Quaternion.identity);//, scale);
|
||||
}
|
||||
@ -258,6 +270,11 @@ void CmdClientToServerDelta_Rotation(byte baselineTick, Quaternion rotation)
|
||||
[Command(channel = Channels.Unreliable)] // unreliable delta
|
||||
void CmdClientToServerDelta_PositionRotation(byte baselineTick, Vector3 position, Quaternion rotation)
|
||||
{
|
||||
// debug draw: delta
|
||||
if (debugDraw) Debug.DrawLine(position, position + Vector3.up, Color.white, 10f);
|
||||
|
||||
Debug.Log($"[{name}] server received delta for {baselineTick}, with last baseline {lastDeserializedBaselineTick}");
|
||||
|
||||
// Debug.Log($"[{name}] server received delta for baseline #{lastDeserializedBaselineTick}");
|
||||
OnClientToServerDeltaSync(baselineTick, position, rotation);//, scale);
|
||||
}
|
||||
@ -265,19 +282,25 @@ void CmdClientToServerDelta_PositionRotation(byte baselineTick, Vector3 position
|
||||
// local authority client sends sync message to server for broadcasting
|
||||
protected virtual void OnClientToServerDeltaSync(byte baselineTick, Vector3? position, Quaternion? rotation)//, Vector3? scale)
|
||||
{
|
||||
// only apply if in client authority mode
|
||||
if (syncDirection != SyncDirection.ClientToServer) return;
|
||||
|
||||
// ensure this delta is for our last known baseline.
|
||||
// we should never apply a delta on top of a wrong baseline.
|
||||
if (baselineTick != lastDeserializedBaselineTick)
|
||||
{
|
||||
// debug draw: drop
|
||||
if (debugDraw)
|
||||
{
|
||||
if (position.HasValue) Debug.DrawLine(position.Value, position.Value + Vector3.up, Color.red, 10f);
|
||||
}
|
||||
|
||||
// this can happen if unreliable arrives before reliable etc.
|
||||
// no need to log this except when debugging.
|
||||
// Debug.Log($"[{name}] Server: received delta for wrong baseline #{baselineTick} from: {connectionToClient}. Last was {lastDeserializedBaselineTick}. Ignoring.");
|
||||
Debug.LogWarning($"[{name}] Server: received delta for wrong baseline #{baselineTick} from: {connectionToClient}. Last was {lastDeserializedBaselineTick}. Ignoring.");
|
||||
return;
|
||||
}
|
||||
|
||||
// only apply if in client authority mode
|
||||
if (syncDirection != SyncDirection.ClientToServer) return;
|
||||
|
||||
// protect against ever-growing buffer size attacks
|
||||
if (serverSnapshots.Count >= connectionToClient.snapshotBufferSizeLimit) return;
|
||||
|
||||
@ -324,6 +347,11 @@ void RpcServerToClientBaseline_PositionRotation(byte baselineTick, Vector3 posit
|
||||
lastDeserializedBaselinePosition = position;
|
||||
lastDeserializedBaselineRotation = rotation;
|
||||
|
||||
Debug.Log($"{name} RpcServerToClientBaseline sets new baseline := {baselineTick}");
|
||||
|
||||
// debug draw: baseline
|
||||
if (debugDraw) Debug.DrawLine(position, position + Vector3.up, Color.yellow, 10f);
|
||||
|
||||
// if baseline counts as delta, insert it into snapshot buffer too
|
||||
if (baselineIsDelta)
|
||||
OnServerToClientDeltaSync(baselineTick, position, rotation);//, Vector3.zero);//, scale);
|
||||
@ -340,6 +368,11 @@ void RpcServerToClientBaseline_Position(byte baselineTick, Vector3 position)
|
||||
lastDeserializedBaselineTick = baselineTick;
|
||||
lastDeserializedBaselinePosition = position;
|
||||
|
||||
Debug.Log($"{name} RpcServerToClientBaseline sets new baseline := {baselineTick}");
|
||||
|
||||
// debug draw: baseline
|
||||
if (debugDraw) Debug.DrawLine(position, position + Vector3.up, Color.yellow, 10f);
|
||||
|
||||
// if baseline counts as delta, insert it into snapshot buffer too
|
||||
if (baselineIsDelta)
|
||||
OnServerToClientDeltaSync(baselineTick, position, Quaternion.identity);//, Vector3.zero);//, scale);
|
||||
@ -356,6 +389,8 @@ void RpcServerToClientBaseline_Rotation(byte baselineTick, Quaternion rotation)
|
||||
lastDeserializedBaselineTick = baselineTick;
|
||||
lastDeserializedBaselineRotation = rotation;
|
||||
|
||||
Debug.Log($"{name} RpcServerToClientBaseline sets new baseline := {baselineTick}");
|
||||
|
||||
// if baseline counts as delta, insert it into snapshot buffer too
|
||||
if (baselineIsDelta)
|
||||
OnServerToClientDeltaSync(baselineTick, Vector3.zero, rotation);//, Vector3.zero);//, scale);
|
||||
@ -369,6 +404,9 @@ void RpcServerToClientDelta_PositionRotation(byte baselineTick, Vector3 position
|
||||
// ignore if this object is owned by this client.
|
||||
if (IsClientWithAuthority) return;
|
||||
|
||||
// debug draw: delta
|
||||
if (debugDraw) Debug.DrawLine(position, position + Vector3.up, Color.white, 10f);
|
||||
|
||||
OnServerToClientDeltaSync(baselineTick, position, rotation);//, scale);
|
||||
}
|
||||
|
||||
@ -380,6 +418,9 @@ void RpcServerToClientDelta_Position(byte baselineTick, Vector3 position)
|
||||
// ignore if this object is owned by this client.
|
||||
if (IsClientWithAuthority) return;
|
||||
|
||||
// debug draw: delta
|
||||
if (debugDraw) Debug.DrawLine(position, position + Vector3.up, Color.white, 10f);
|
||||
|
||||
OnServerToClientDeltaSync(baselineTick, position, Quaternion.identity);//, scale);
|
||||
}
|
||||
|
||||
@ -397,16 +438,6 @@ void RpcServerToClientDelta_Rotation(byte baselineTick, Quaternion rotation)
|
||||
// server broadcasts sync message to all clients
|
||||
protected virtual void OnServerToClientDeltaSync(byte baselineTick, Vector3 position, Quaternion rotation)//, Vector3 scale)
|
||||
{
|
||||
// ensure this delta is for our last known baseline.
|
||||
// we should never apply a delta on top of a wrong baseline.
|
||||
if (baselineTick != lastDeserializedBaselineTick)
|
||||
{
|
||||
// this can happen if unreliable arrives before reliable etc.
|
||||
// no need to log this except when debugging.
|
||||
// Debug.Log($"[{name}] Client: received delta for wrong baseline #{baselineTick}. Last was {lastDeserializedBaselineTick}. Ignoring.");
|
||||
return;
|
||||
}
|
||||
|
||||
// in host mode, the server sends rpcs to all clients.
|
||||
// the host client itself will receive them too.
|
||||
// -> host server is always the source of truth
|
||||
@ -418,6 +449,22 @@ protected virtual void OnServerToClientDeltaSync(byte baselineTick, Vector3 posi
|
||||
// don't apply for local player with authority
|
||||
if (IsClientWithAuthority) return;
|
||||
|
||||
// ensure this delta is for our last known baseline.
|
||||
// we should never apply a delta on top of a wrong baseline.
|
||||
if (baselineTick != lastDeserializedBaselineTick)
|
||||
{
|
||||
// debug draw: drop
|
||||
if (debugDraw)
|
||||
{
|
||||
Debug.DrawLine(position, position + Vector3.up, Color.red, 10f);
|
||||
}
|
||||
|
||||
// this can happen if unreliable arrives before reliable etc.
|
||||
// no need to log this except when debugging.
|
||||
Debug.LogWarning($"[{name}] Client: received delta for wrong baseline #{baselineTick}. Last was {lastDeserializedBaselineTick}. Ignoring.");
|
||||
return;
|
||||
}
|
||||
|
||||
// Debug.Log($"[{name}] Client: received delta for baseline #{baselineTick}");
|
||||
|
||||
// on the client, we receive rpcs for all entities.
|
||||
@ -647,8 +694,13 @@ void UpdateServer()
|
||||
// should we broadcast at all?
|
||||
if (!disableSendingThisToClients) // CUSTOM CHANGE: see comment at definition
|
||||
{
|
||||
UpdateServerBaseline(localTime);
|
||||
UpdateServerDelta(localTime);
|
||||
// only broadcast for server owned objects.
|
||||
// otherwise server would overwrite ClientToServer object's baselines.
|
||||
if (syncDirection == SyncDirection.ServerToClient || IsClientWithAuthority)
|
||||
{
|
||||
UpdateServerBaseline(localTime);
|
||||
UpdateServerDelta(localTime);
|
||||
}
|
||||
}
|
||||
|
||||
// interpolate remote clients
|
||||
@ -1038,6 +1090,8 @@ public override void OnDeserialize(NetworkReader reader, bool initialState)
|
||||
Vector3 position = Vector3.zero;
|
||||
Quaternion rotation = Quaternion.identity;
|
||||
|
||||
Debug.Log($"{name} OnDeserialize sets new baseline := {lastDeserializedBaselineTick}");
|
||||
|
||||
if (syncPosition)
|
||||
{
|
||||
position = reader.ReadVector3();
|
||||
|
@ -26,13 +26,13 @@ Transform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3342527215728230228}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 1.4999999, z: 0}
|
||||
m_LocalScale: {x: 0.099999994, y: 0.099999994, z: 0.099999994}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 4659514702152478195}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &6511570575193480752
|
||||
MeshRenderer:
|
||||
@ -51,8 +51,6 @@ MeshRenderer:
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||
m_RayTracingAccelStructBuildFlags: 1
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
@ -137,13 +135,13 @@ Transform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4592122871669721618}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0.39999998, z: 0.5}
|
||||
m_LocalScale: {x: 0.5, y: 0.1, z: 0.2}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 3834521907656645861}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &7450643213444322531
|
||||
MeshFilter:
|
||||
@ -170,8 +168,6 @@ MeshRenderer:
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||
m_RayTracingAccelStructBuildFlags: 1
|
||||
m_RenderingLayerMask: 4294967295
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
@ -222,7 +218,6 @@ Transform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5844787331012650587}
|
||||
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}
|
||||
@ -230,6 +225,7 @@ Transform:
|
||||
m_Children:
|
||||
- {fileID: 5246057292441020322}
|
||||
m_Father: {fileID: 4659514702152478195}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &7647174189108629449
|
||||
MeshFilter:
|
||||
@ -256,8 +252,6 @@ MeshRenderer:
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||
m_RayTracingAccelStructBuildFlags: 1
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
@ -314,7 +308,6 @@ Transform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7863680369626900553}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 1.1, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
@ -323,6 +316,7 @@ Transform:
|
||||
- {fileID: 3834521907656645861}
|
||||
- {fileID: 3595398802692822242}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!136 &4284051235536850638
|
||||
CapsuleCollider:
|
||||
@ -332,17 +326,8 @@ CapsuleCollider:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7863680369626900553}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Radius: 0.5
|
||||
m_Height: 2
|
||||
m_Direction: 1
|
||||
@ -355,17 +340,9 @@ CharacterController:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7863680369626900553}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 0
|
||||
serializedVersion: 3
|
||||
serializedVersion: 2
|
||||
m_Height: 2
|
||||
m_Radius: 0.5
|
||||
m_SlopeLimit: 45
|
||||
@ -380,21 +357,10 @@ Rigidbody:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7863680369626900553}
|
||||
serializedVersion: 4
|
||||
serializedVersion: 2
|
||||
m_Mass: 1
|
||||
m_Drag: 0
|
||||
m_AngularDrag: 0.05
|
||||
m_CenterOfMass: {x: 0, y: 0, z: 0}
|
||||
m_InertiaTensor: {x: 1, y: 1, z: 1}
|
||||
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ImplicitCom: 1
|
||||
m_ImplicitTensor: 1
|
||||
m_UseGravity: 1
|
||||
m_IsKinematic: 1
|
||||
m_Interpolate: 0
|
||||
@ -479,6 +445,7 @@ MonoBehaviour:
|
||||
syncPosition: 1
|
||||
syncRotation: 1
|
||||
disableSendingThisToClients: 0
|
||||
debugDraw: 1
|
||||
showGizmos: 1
|
||||
showOverlay: 1
|
||||
overlayColor: {r: 0, g: 0, b: 0, a: 0.5}
|
||||
@ -498,7 +465,8 @@ MonoBehaviour:
|
||||
syncMode: 0
|
||||
syncInterval: 0
|
||||
characterController: {fileID: 1014105431373575527}
|
||||
ControllerUIPrefab: {fileID: 644766297742565710, guid: 7beee247444994f0281dadde274cc4af, type: 3}
|
||||
ControllerUIPrefab: {fileID: 644766297742565710, guid: 7beee247444994f0281dadde274cc4af,
|
||||
type: 3}
|
||||
moveKeys:
|
||||
Forward: 119
|
||||
Back: 115
|
||||
|
@ -13,7 +13,7 @@ OcclusionCullingSettings:
|
||||
--- !u!104 &2
|
||||
RenderSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 10
|
||||
serializedVersion: 9
|
||||
m_Fog: 0
|
||||
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||
m_FogMode: 3
|
||||
@ -44,6 +44,7 @@ RenderSettings:
|
||||
LightmapSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 12
|
||||
m_GIWorkflowMode: 1
|
||||
m_GISettings:
|
||||
serializedVersion: 2
|
||||
m_BounceScale: 1
|
||||
@ -66,6 +67,9 @@ LightmapSettings:
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_LightmapsBakeMode: 1
|
||||
m_TextureCompression: 1
|
||||
m_FinalGather: 0
|
||||
m_FinalGatherFiltering: 1
|
||||
m_FinalGatherRayCount: 256
|
||||
m_ReflectionCompression: 2
|
||||
m_MixedBakeMode: 2
|
||||
m_BakeBackend: 1
|
||||
@ -93,14 +97,15 @@ LightmapSettings:
|
||||
m_ExportTrainingData: 0
|
||||
m_TrainingDataDestination: TrainingData
|
||||
m_LightProbeSampleCountMultiplier: 4
|
||||
m_LightingDataAsset: {fileID: 112000000, guid: 7dde303f10b9fde4fae4878d2c9f360f, type: 2}
|
||||
m_LightingDataAsset: {fileID: 112000000, guid: 7dde303f10b9fde4fae4878d2c9f360f,
|
||||
type: 2}
|
||||
m_LightingSettings: {fileID: 0}
|
||||
--- !u!196 &4
|
||||
NavMeshSettings:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_BuildSettings:
|
||||
serializedVersion: 3
|
||||
serializedVersion: 2
|
||||
agentTypeID: 0
|
||||
agentRadius: 0.5
|
||||
agentHeight: 2
|
||||
@ -113,7 +118,7 @@ NavMeshSettings:
|
||||
cellSize: 0.16666667
|
||||
manualTileSize: 0
|
||||
tileSize: 256
|
||||
buildHeightMesh: 0
|
||||
accuratePlacement: 0
|
||||
maxJobWorkers: 0
|
||||
preserveTilesOutsideBounds: 0
|
||||
debug:
|
||||
@ -159,17 +164,9 @@ Camera:
|
||||
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_FocalLength: 50
|
||||
m_NormalizedViewPortRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
@ -203,13 +200,13 @@ Transform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 361955662}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0.15731035, y: 0.072513655, z: -0.011583021, w: 0.98481524}
|
||||
m_LocalPosition: {x: -402.78363, y: 31.230488, z: -13.799797}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &856494733
|
||||
GameObject:
|
||||
@ -307,21 +304,10 @@ Rigidbody:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 856494733}
|
||||
serializedVersion: 4
|
||||
serializedVersion: 2
|
||||
m_Mass: 1
|
||||
m_Drag: 0
|
||||
m_AngularDrag: 0.05
|
||||
m_CenterOfMass: {x: 0, y: 0, z: 0}
|
||||
m_InertiaTensor: {x: 1, y: 1, z: 1}
|
||||
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ImplicitCom: 1
|
||||
m_ImplicitTensor: 1
|
||||
m_UseGravity: 1
|
||||
m_IsKinematic: 1
|
||||
m_Interpolate: 0
|
||||
@ -335,18 +321,10 @@ BoxCollider:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 856494733}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
serializedVersion: 2
|
||||
m_Size: {x: 2, y: 2, z: 2}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &856494739
|
||||
MeshRenderer:
|
||||
@ -365,8 +343,6 @@ MeshRenderer:
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||
m_RayTracingAccelStructBuildFlags: 1
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
@ -407,13 +383,13 @@ Transform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 856494733}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 2, z: -200}
|
||||
m_LocalScale: {x: 4, y: 4, z: 4}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &890531170
|
||||
GameObject:
|
||||
@ -451,13 +427,13 @@ Transform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 890531170}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -325, y: 11.02, z: -6}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 4
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &980545347
|
||||
GameObject:
|
||||
@ -495,13 +471,13 @@ Transform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 980545347}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -325, y: 11.02, z: -10}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 5
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1175360880
|
||||
GameObject:
|
||||
@ -539,13 +515,13 @@ Transform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1175360880}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -325, y: 11.02, z: -14}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 6
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1177316161
|
||||
GameObject:
|
||||
@ -574,16 +550,7 @@ TerrainCollider:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1177316161}
|
||||
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: 2
|
||||
m_TerrainData: {fileID: 15600000, guid: 3a63939a39af1904d908274fdcd10fb6, type: 2}
|
||||
m_EnableTreeColliders: 1
|
||||
--- !u!218 &1177316163
|
||||
@ -604,28 +571,22 @@ Terrain:
|
||||
m_DetailObjectDensity: 1
|
||||
m_HeightmapPixelError: 5
|
||||
m_SplatMapDistance: 1000
|
||||
m_HeightmapMinimumLODSimplification: 0
|
||||
m_HeightmapMaximumLOD: 0
|
||||
m_ShadowCastingMode: 2
|
||||
m_DrawHeightmap: 1
|
||||
m_DrawInstanced: 0
|
||||
m_DrawTreesAndFoliage: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_IgnoreQualitySettings: 0
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_MaterialTemplate: {fileID: 10650, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_BakeLightProbesForTrees: 1
|
||||
m_PreserveTreePrototypeLayers: 0
|
||||
m_DeringLightProbesForTrees: 1
|
||||
m_ReceiveGI: 1
|
||||
m_ScaleInLightmap: 0.0256
|
||||
m_LightmapParameters: {fileID: 15203, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_GroupingID: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_AllowAutoConnect: 1
|
||||
m_EnableHeightmapRayTracing: 1
|
||||
m_EnableTreesAndDetailsRayTracing: 0
|
||||
m_TreeMotionVectorModeOverride: 3
|
||||
--- !u!4 &1177316164
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -633,13 +594,13 @@ Transform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1177316161}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -500, y: 0, z: -500}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 8
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1177316165
|
||||
MonoBehaviour:
|
||||
@ -693,13 +654,13 @@ Transform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1708370876}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -325, y: 11.02, z: -18}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 7
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &2078663351
|
||||
GameObject:
|
||||
@ -726,8 +687,9 @@ Light:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2078663351}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 11
|
||||
serializedVersion: 10
|
||||
m_Type: 1
|
||||
m_Shape: 0
|
||||
m_Color: {r: 0.6226415, g: 0.6226415, b: 0.6226415, a: 1}
|
||||
m_Intensity: 0.5
|
||||
m_Range: 10
|
||||
@ -786,13 +748,13 @@ Transform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2078663351}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
|
||||
m_LocalPosition: {x: 0, y: 3, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
|
||||
--- !u!1 &2126814503
|
||||
GameObject:
|
||||
@ -850,13 +812,13 @@ Transform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2126814503}
|
||||
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: 0}
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &2126814506
|
||||
MonoBehaviour:
|
||||
@ -884,7 +846,8 @@ MonoBehaviour:
|
||||
disconnectInactiveConnections: 0
|
||||
disconnectInactiveTimeout: 60
|
||||
authenticator: {fileID: 0}
|
||||
playerPrefab: {fileID: 7863680369626900553, guid: 0febcff3b53ac2341933e3386498cbbd, type: 3}
|
||||
playerPrefab: {fileID: 7863680369626900553, guid: 0febcff3b53ac2341933e3386498cbbd,
|
||||
type: 3}
|
||||
autoCreatePlayer: 1
|
||||
playerSpawnMethod: 1
|
||||
spawnPrefabs: []
|
||||
@ -903,8 +866,9 @@ MonoBehaviour:
|
||||
evaluationMethod: 0
|
||||
evaluationInterval: 3
|
||||
timeInterpolationGui: 1
|
||||
spawnHenchman: 1
|
||||
henchmanPrefab: {fileID: 7863680369626900553, guid: 400bac1c9e1e96648a83f333d4837484, type: 3}
|
||||
spawnHenchman: 0
|
||||
henchmanPrefab: {fileID: 7863680369626900553, guid: 400bac1c9e1e96648a83f333d4837484,
|
||||
type: 3}
|
||||
--- !u!114 &2126814507
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -933,16 +897,3 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
showGUI: 1
|
||||
showLog: 0
|
||||
--- !u!1660057539 &9223372036854775807
|
||||
SceneRoots:
|
||||
m_ObjectHideFlags: 0
|
||||
m_Roots:
|
||||
- {fileID: 361955665}
|
||||
- {fileID: 2078663353}
|
||||
- {fileID: 1177316164}
|
||||
- {fileID: 856494741}
|
||||
- {fileID: 2126814505}
|
||||
- {fileID: 890531172}
|
||||
- {fileID: 980545349}
|
||||
- {fileID: 1175360882}
|
||||
- {fileID: 1708370878}
|
||||
|
Loading…
Reference in New Issue
Block a user