portal driver clones
This commit is contained in:
@@ -11,7 +11,10 @@ GameObject:
|
||||
- component: {fileID: 3680365890358827431}
|
||||
- component: {fileID: 3680365890358827424}
|
||||
- component: {fileID: 3680365890358827425}
|
||||
m_Layer: 0
|
||||
- component: {fileID: 9003874053127290317}
|
||||
- component: {fileID: 6670815188493146868}
|
||||
- component: {fileID: 7213930867242206722}
|
||||
m_Layer: 6
|
||||
m_Name: Hand
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
@@ -83,3 +86,49 @@ MeshRenderer:
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!136 &9003874053127290317
|
||||
CapsuleCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3680365890358827426}
|
||||
m_Material: {fileID: 0}
|
||||
m_IsTrigger: 0
|
||||
m_Enabled: 1
|
||||
m_Radius: 0.5
|
||||
m_Height: 2
|
||||
m_Direction: 1
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!54 &6670815188493146868
|
||||
Rigidbody:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3680365890358827426}
|
||||
serializedVersion: 2
|
||||
m_Mass: 1
|
||||
m_Drag: 0
|
||||
m_AngularDrag: 0.05
|
||||
m_UseGravity: 0
|
||||
m_IsKinematic: 1
|
||||
m_Interpolate: 0
|
||||
m_Constraints: 0
|
||||
m_CollisionDetection: 0
|
||||
--- !u!114 &7213930867242206722
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3680365890358827426}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ee06bb2aa499a594c9761498039d73a7, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
traveller: {fileID: 0}
|
||||
hasClone: 1
|
||||
entrySide: 0
|
||||
clone: {fileID: 0}
|
||||
|
||||
11
Assets/Escape Room Engine/Portal/HandPortalDriver.cs
Normal file
11
Assets/Escape Room Engine/Portal/HandPortalDriver.cs
Normal file
@@ -0,0 +1,11 @@
|
||||
namespace Escape_Room_Engine.Portal
|
||||
{
|
||||
public class HandPortalDriver : PortalDriver
|
||||
{
|
||||
private new void Start()
|
||||
{
|
||||
traveller = transform.parent.parent.parent; // get the hand portal offset
|
||||
base.Start();
|
||||
}
|
||||
}
|
||||
}
|
||||
11
Assets/Escape Room Engine/Portal/HandPortalDriver.cs.meta
Normal file
11
Assets/Escape Room Engine/Portal/HandPortalDriver.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ee06bb2aa499a594c9761498039d73a7
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -34,25 +34,35 @@ namespace Escape_Room_Engine.Portal
|
||||
for (var i = 0; i < _closePortalDrivers.Count; i++)
|
||||
{
|
||||
var portalDriver = _closePortalDrivers[i];
|
||||
var side = CalculateSide(portalDriver.transform);
|
||||
if (portalDriver.entrySide < 0 && side >= 0) // must have entered from the front and exited the back
|
||||
if (portalDriver.entrySide < 0 && CalculateSide(portalDriver.transform) >= 0) // must have entered from the front and exited the back
|
||||
{
|
||||
_closePortalDrivers.Remove(portalDriver);
|
||||
linkedPortal._closePortalDrivers.Add(portalDriver);
|
||||
portalDriver.entrySide = -1;
|
||||
StopTrackingDriver(portalDriver);
|
||||
linkedPortal.StartTrackingDriver(portalDriver, -1);
|
||||
portalDriver.Teleport(this, linkedPortal);
|
||||
i--; // decrease the loop counter because the list is one element smaller now
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void StartTrackingDriver(PortalDriver portalDriver, int entrySide)
|
||||
{
|
||||
_closePortalDrivers.Add(portalDriver);
|
||||
portalDriver.EnableClone(linkedPortal);
|
||||
portalDriver.entrySide = entrySide;
|
||||
}
|
||||
|
||||
private void StopTrackingDriver(PortalDriver portalDriver)
|
||||
{
|
||||
_closePortalDrivers.Remove(portalDriver);
|
||||
portalDriver.DisableClone(linkedPortal);
|
||||
}
|
||||
|
||||
private void OnTriggerEnter(Collider other)
|
||||
{
|
||||
var portalDriver = other.GetComponent<PortalDriver>();
|
||||
if (portalDriver && !_closePortalDrivers.Contains(portalDriver))
|
||||
{
|
||||
_closePortalDrivers.Add(portalDriver);
|
||||
portalDriver.entrySide = CalculateSide(portalDriver.transform);
|
||||
StartTrackingDriver(portalDriver, CalculateSide(portalDriver.transform));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,9 +70,7 @@ namespace Escape_Room_Engine.Portal
|
||||
{
|
||||
var portalDriver = other.GetComponent<PortalDriver>();
|
||||
if (portalDriver)
|
||||
{
|
||||
_closePortalDrivers.Remove(portalDriver);
|
||||
}
|
||||
StopTrackingDriver(portalDriver);
|
||||
}
|
||||
|
||||
private int CalculateSide(Transform portalDriverTransform)
|
||||
|
||||
@@ -11,7 +11,7 @@ GameObject:
|
||||
- component: {fileID: 2246995198243242195}
|
||||
- component: {fileID: 1249363658}
|
||||
- component: {fileID: 7604291350124895408}
|
||||
m_Layer: 0
|
||||
m_Layer: 7
|
||||
m_Name: Portal
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
|
||||
@@ -10,25 +10,29 @@ namespace Escape_Room_Engine.Portal
|
||||
/// The object that will be transported through the portal. Usually either this object or a parent offset object.
|
||||
/// If left empty, it will default to this object.
|
||||
/// </summary>
|
||||
[SerializeField] private Transform traveller;
|
||||
public Transform traveller;
|
||||
/// <summary>
|
||||
/// Whether this portal driver has a clone mirroring it at other portals. Disable this for the player.
|
||||
/// </summary>
|
||||
public bool hasClone = true;
|
||||
|
||||
/// <summary>
|
||||
/// The side of the portal this became tracked on.
|
||||
/// </summary>
|
||||
[HideInInspector] public int entrySide;
|
||||
|
||||
/// <summary>
|
||||
/// A reference to the collider of this portal driver.
|
||||
/// The clone that is used to mirror this portal driver at another portal.
|
||||
/// </summary>
|
||||
public Collider Collider { get; private set; }
|
||||
[HideInInspector] public PortalDriverClone clone;
|
||||
|
||||
private Collider _collider;
|
||||
private Rigidbody _rigidbody;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
// check whether the collider is set up correctly
|
||||
Collider = GetComponent<Collider>();
|
||||
if (Collider.isTrigger) throw new Exception("Collider must not be a trigger.");
|
||||
_collider = GetComponent<Collider>();
|
||||
if (_collider.isTrigger) throw new Exception("Collider must not be a trigger.");
|
||||
|
||||
// check whether the traveller is set
|
||||
if (!traveller) traveller = transform;
|
||||
@@ -37,11 +41,41 @@ namespace Escape_Room_Engine.Portal
|
||||
_rigidbody = GetComponent<Rigidbody>();
|
||||
}
|
||||
|
||||
protected void Start()
|
||||
{
|
||||
if (hasClone)
|
||||
clone = PortalDriverClone.Create(this);
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (hasClone && clone.gameObject.activeSelf)
|
||||
clone.UpdatePosition(transform);
|
||||
}
|
||||
|
||||
public void EnableClone(Portal at)
|
||||
{
|
||||
if (hasClone)
|
||||
{
|
||||
clone.portal = at;
|
||||
clone.gameObject.SetActive(true);
|
||||
}
|
||||
}
|
||||
|
||||
public void DisableClone(Portal at)
|
||||
{
|
||||
if (hasClone && at.Equals(clone.portal)) // don't disable clones that are already at a different portal
|
||||
{
|
||||
clone.portal = null;
|
||||
clone.gameObject.SetActive(false);
|
||||
}
|
||||
}
|
||||
|
||||
public void Teleport(Portal from, Portal to)
|
||||
{
|
||||
var m = to.transform.localToWorldMatrix * Portal.HalfRotation * from.transform.worldToLocalMatrix *
|
||||
traveller.localToWorldMatrix;
|
||||
traveller.transform.SetPositionAndRotation(m.GetPosition(), m.rotation);
|
||||
traveller.SetPositionAndRotation(m.GetPosition(), m.rotation);
|
||||
if (_rigidbody)
|
||||
{
|
||||
_rigidbody.velocity = to.transform.TransformDirection(
|
||||
|
||||
44
Assets/Escape Room Engine/Portal/PortalDriverClone.cs
Normal file
44
Assets/Escape Room Engine/Portal/PortalDriverClone.cs
Normal file
@@ -0,0 +1,44 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.InputSystem.XR;
|
||||
using UnityEngine.XR.Interaction.Toolkit;
|
||||
|
||||
namespace Escape_Room_Engine.Portal
|
||||
{
|
||||
public class PortalDriverClone : MonoBehaviour
|
||||
{
|
||||
/// <summary>
|
||||
/// The portal where this clone is mirroring the portal driver.
|
||||
/// </summary>
|
||||
[HideInInspector] public Portal portal;
|
||||
|
||||
public static PortalDriverClone Create(PortalDriver portalDriver)
|
||||
{
|
||||
// copy the portal driver object
|
||||
var clone = Instantiate(portalDriver).gameObject;
|
||||
|
||||
// destroy all unnecessary components
|
||||
Destroy(clone.GetComponent<PortalDriver>());
|
||||
foreach (var xrGrabInteractable in clone.GetComponentsInChildren<XRGrabInteractable>())
|
||||
Destroy(xrGrabInteractable);
|
||||
foreach (var rigidbody in clone.GetComponentsInChildren<Rigidbody>())
|
||||
Destroy(rigidbody);
|
||||
foreach (var trackedPoseDriver in clone.GetComponentsInChildren<TrackedPoseDriver>())
|
||||
Destroy(trackedPoseDriver);
|
||||
|
||||
// add a clone component
|
||||
clone.AddComponent<PortalDriverClone>();
|
||||
|
||||
// set up the clone
|
||||
var portalDriverClone = clone.GetComponent<PortalDriverClone>();
|
||||
portalDriverClone.gameObject.SetActive(false);
|
||||
return portalDriverClone;
|
||||
}
|
||||
|
||||
public void UpdatePosition(Transform cloning)
|
||||
{
|
||||
var m = portal.transform.localToWorldMatrix * Portal.HalfRotation *
|
||||
portal.linkedPortal.transform.worldToLocalMatrix * cloning.localToWorldMatrix;
|
||||
transform.SetPositionAndRotation(m.GetPosition(), m.rotation);
|
||||
}
|
||||
}
|
||||
}
|
||||
11
Assets/Escape Room Engine/Portal/PortalDriverClone.cs.meta
Normal file
11
Assets/Escape Room Engine/Portal/PortalDriverClone.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 088fae7d750b41e4eb8d333853ffa41a
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -593,9 +593,9 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
traveller: {fileID: 0}
|
||||
hasClone: 1
|
||||
entrySide: 0
|
||||
a: {fileID: 0}
|
||||
b: {fileID: 0}
|
||||
clone: {fileID: 0}
|
||||
--- !u!1 &32502420
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -840,9 +840,9 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
traveller: {fileID: 0}
|
||||
hasClone: 1
|
||||
entrySide: 0
|
||||
a: {fileID: 0}
|
||||
b: {fileID: 0}
|
||||
clone: {fileID: 0}
|
||||
--- !u!1 &49933501
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -872,7 +872,7 @@ Transform:
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 62537129}
|
||||
m_Father: {fileID: 649528116}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &49933503
|
||||
@@ -1008,16 +1008,14 @@ Transform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 62537128}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
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: 250613599}
|
||||
- {fileID: 49933502}
|
||||
- {fileID: 1755438915}
|
||||
- {fileID: 734697822}
|
||||
- {fileID: 613892734}
|
||||
- {fileID: 649528116}
|
||||
- {fileID: 609138305}
|
||||
- {fileID: 1959380931}
|
||||
m_Father: {fileID: 1274381187}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
@@ -1265,9 +1263,9 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
traveller: {fileID: 0}
|
||||
hasClone: 1
|
||||
entrySide: 0
|
||||
a: {fileID: 0}
|
||||
b: {fileID: 0}
|
||||
clone: {fileID: 0}
|
||||
--- !u!1 &145371954
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1512,9 +1510,9 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
traveller: {fileID: 0}
|
||||
hasClone: 1
|
||||
entrySide: 0
|
||||
a: {fileID: 0}
|
||||
b: {fileID: 0}
|
||||
clone: {fileID: 0}
|
||||
--- !u!1 &148891875
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1800,9 +1798,9 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
traveller: {fileID: 0}
|
||||
hasClone: 1
|
||||
entrySide: 0
|
||||
a: {fileID: 0}
|
||||
b: {fileID: 0}
|
||||
clone: {fileID: 0}
|
||||
--- !u!1 &194084196
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -2078,7 +2076,7 @@ GameObject:
|
||||
- component: {fileID: 250613605}
|
||||
- component: {fileID: 250613606}
|
||||
- component: {fileID: 250613607}
|
||||
m_Layer: 0
|
||||
m_Layer: 6
|
||||
m_Name: Main Camera
|
||||
m_TagString: MainCamera
|
||||
m_Icon: {fileID: 0}
|
||||
@@ -2092,12 +2090,12 @@ Transform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 250613598}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
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: 62537129}
|
||||
m_Father: {fileID: 649528116}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &250613600
|
||||
@@ -2300,10 +2298,10 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 1bacec3b1d81cef43972d5dfc26a467b, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
traveller: {fileID: 62537129}
|
||||
traveller: {fileID: 649528116}
|
||||
hasClone: 0
|
||||
entrySide: 0
|
||||
a: {fileID: 0}
|
||||
b: {fileID: 0}
|
||||
clone: {fileID: 0}
|
||||
--- !u!135 &250613606
|
||||
SphereCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -2855,9 +2853,9 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
traveller: {fileID: 0}
|
||||
hasClone: 1
|
||||
entrySide: 0
|
||||
a: {fileID: 0}
|
||||
b: {fileID: 0}
|
||||
clone: {fileID: 0}
|
||||
--- !u!1 &430115637
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -3102,9 +3100,9 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
traveller: {fileID: 0}
|
||||
hasClone: 1
|
||||
entrySide: 0
|
||||
a: {fileID: 0}
|
||||
b: {fileID: 0}
|
||||
clone: {fileID: 0}
|
||||
--- !u!1 &446284063
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -3730,9 +3728,41 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
traveller: {fileID: 0}
|
||||
hasClone: 1
|
||||
entrySide: 0
|
||||
a: {fileID: 0}
|
||||
b: {fileID: 0}
|
||||
clone: {fileID: 0}
|
||||
--- !u!1 &609138304
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 609138305}
|
||||
m_Layer: 0
|
||||
m_Name: Left Hand Portal Offset
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &609138305
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 609138304}
|
||||
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: 734697822}
|
||||
m_Father: {fileID: 62537129}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &613892733
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -3759,13 +3789,13 @@ Transform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 613892733}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
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: 62537129}
|
||||
m_RootOrder: 4
|
||||
m_Father: {fileID: 1959380931}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &613892735
|
||||
MonoBehaviour:
|
||||
@@ -4166,6 +4196,40 @@ MeshFilter:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 649178244}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!1 &649528115
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 649528116}
|
||||
m_Layer: 0
|
||||
m_Name: Camera Portal Offset
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &649528116
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 649528115}
|
||||
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: 250613599}
|
||||
- {fileID: 49933502}
|
||||
- {fileID: 1755438915}
|
||||
m_Father: {fileID: 62537129}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &658745510
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -4410,9 +4474,9 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
traveller: {fileID: 0}
|
||||
hasClone: 1
|
||||
entrySide: 0
|
||||
a: {fileID: 0}
|
||||
b: {fileID: 0}
|
||||
clone: {fileID: 0}
|
||||
--- !u!1 &702415672
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -4657,9 +4721,9 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
traveller: {fileID: 0}
|
||||
hasClone: 1
|
||||
entrySide: 0
|
||||
a: {fileID: 0}
|
||||
b: {fileID: 0}
|
||||
clone: {fileID: 0}
|
||||
--- !u!1 &734697821
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -4686,13 +4750,13 @@ Transform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 734697821}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
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: 62537129}
|
||||
m_RootOrder: 3
|
||||
m_Father: {fileID: 609138305}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &734697823
|
||||
MonoBehaviour:
|
||||
@@ -5240,9 +5304,9 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
traveller: {fileID: 0}
|
||||
hasClone: 1
|
||||
entrySide: 0
|
||||
a: {fileID: 0}
|
||||
b: {fileID: 0}
|
||||
clone: {fileID: 0}
|
||||
--- !u!1 &778138609
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -5487,9 +5551,9 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
traveller: {fileID: 0}
|
||||
hasClone: 1
|
||||
entrySide: 0
|
||||
a: {fileID: 0}
|
||||
b: {fileID: 0}
|
||||
clone: {fileID: 0}
|
||||
--- !u!1 &817509150
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -5955,9 +6019,9 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
traveller: {fileID: 0}
|
||||
hasClone: 1
|
||||
entrySide: 0
|
||||
a: {fileID: 0}
|
||||
b: {fileID: 0}
|
||||
clone: {fileID: 0}
|
||||
--- !u!1 &1023639977
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -6202,9 +6266,9 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
traveller: {fileID: 0}
|
||||
hasClone: 1
|
||||
entrySide: 0
|
||||
a: {fileID: 0}
|
||||
b: {fileID: 0}
|
||||
clone: {fileID: 0}
|
||||
--- !u!1 &1169383892
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -6481,9 +6545,9 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
traveller: {fileID: 0}
|
||||
hasClone: 1
|
||||
entrySide: 0
|
||||
a: {fileID: 0}
|
||||
b: {fileID: 0}
|
||||
clone: {fileID: 0}
|
||||
--- !u!1 &1199088356
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -6500,7 +6564,7 @@ GameObject:
|
||||
- component: {fileID: 1199088362}
|
||||
- component: {fileID: 1199088363}
|
||||
- component: {fileID: 1199088364}
|
||||
m_Layer: 0
|
||||
m_Layer: 6
|
||||
m_Name: Test Camera
|
||||
m_TagString: MainCamera
|
||||
m_Icon: {fileID: 0}
|
||||
@@ -6636,9 +6700,9 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
traveller: {fileID: 1169383893}
|
||||
hasClone: 0
|
||||
entrySide: 0
|
||||
a: {fileID: 0}
|
||||
b: {fileID: 0}
|
||||
clone: {fileID: 0}
|
||||
--- !u!135 &1199088363
|
||||
SphereCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -7294,9 +7358,9 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
traveller: {fileID: 0}
|
||||
hasClone: 1
|
||||
entrySide: 0
|
||||
a: {fileID: 0}
|
||||
b: {fileID: 0}
|
||||
clone: {fileID: 0}
|
||||
--- !u!1 &1418800929
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -8026,9 +8090,9 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
traveller: {fileID: 0}
|
||||
hasClone: 1
|
||||
entrySide: 0
|
||||
a: {fileID: 0}
|
||||
b: {fileID: 0}
|
||||
clone: {fileID: 0}
|
||||
--- !u!1 &1484624115
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -8503,9 +8567,9 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
traveller: {fileID: 0}
|
||||
hasClone: 1
|
||||
entrySide: 0
|
||||
a: {fileID: 0}
|
||||
b: {fileID: 0}
|
||||
clone: {fileID: 0}
|
||||
--- !u!1001 &1530025130
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -8905,9 +8969,9 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
traveller: {fileID: 0}
|
||||
hasClone: 1
|
||||
entrySide: 0
|
||||
a: {fileID: 0}
|
||||
b: {fileID: 0}
|
||||
clone: {fileID: 0}
|
||||
--- !u!1 &1718957584
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -9078,7 +9142,7 @@ Transform:
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 62537129}
|
||||
m_Father: {fileID: 649528116}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1755438916
|
||||
@@ -9495,9 +9559,9 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
traveller: {fileID: 0}
|
||||
hasClone: 1
|
||||
entrySide: 0
|
||||
a: {fileID: 0}
|
||||
b: {fileID: 0}
|
||||
clone: {fileID: 0}
|
||||
--- !u!1 &1882294794
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -9742,9 +9806,9 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
traveller: {fileID: 0}
|
||||
hasClone: 1
|
||||
entrySide: 0
|
||||
a: {fileID: 0}
|
||||
b: {fileID: 0}
|
||||
clone: {fileID: 0}
|
||||
--- !u!1 &1891845681
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -9989,9 +10053,9 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
traveller: {fileID: 0}
|
||||
hasClone: 1
|
||||
entrySide: 0
|
||||
a: {fileID: 0}
|
||||
b: {fileID: 0}
|
||||
clone: {fileID: 0}
|
||||
--- !u!1001 &1892725130
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -10115,6 +10179,38 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: ae59cddbf8fa37549bb38b1039feeb34, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &1959380930
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1959380931}
|
||||
m_Layer: 0
|
||||
m_Name: Right Hand Portal Offset
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1959380931
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1959380930}
|
||||
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: 613892734}
|
||||
m_Father: {fileID: 62537129}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1962673815
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -10531,9 +10627,9 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
traveller: {fileID: 0}
|
||||
hasClone: 1
|
||||
entrySide: 0
|
||||
a: {fileID: 0}
|
||||
b: {fileID: 0}
|
||||
clone: {fileID: 0}
|
||||
--- !u!1001 &2144623425
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@@ -7,6 +7,7 @@ PhysicsManager:
|
||||
m_Gravity: {x: 0, y: -9.81, z: 0}
|
||||
m_DefaultMaterial: {fileID: 0}
|
||||
m_BounceThreshold: 2
|
||||
m_DefaultMaxDepenetrationVelocity: 10
|
||||
m_SleepThreshold: 0.005
|
||||
m_DefaultContactOffset: 0.01
|
||||
m_DefaultSolverIterations: 6
|
||||
@@ -17,7 +18,7 @@ PhysicsManager:
|
||||
m_ClothInterCollisionDistance: 0.1
|
||||
m_ClothInterCollisionStiffness: 0.2
|
||||
m_ContactsGeneration: 1
|
||||
m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
|
||||
m_LayerCollisionMatrix: bfffffffffffffffffffffffffffffffffffffffffffffffbeffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
|
||||
m_AutoSimulation: 1
|
||||
m_AutoSyncTransforms: 0
|
||||
m_ReuseCollisionCallbacks: 0
|
||||
@@ -32,5 +33,6 @@ PhysicsManager:
|
||||
m_FrictionType: 0
|
||||
m_EnableEnhancedDeterminism: 0
|
||||
m_EnableUnifiedHeightmaps: 1
|
||||
m_ImprovedPatchFriction: 0
|
||||
m_SolverType: 0
|
||||
m_DefaultMaxAngularSpeed: 50
|
||||
|
||||
@@ -11,8 +11,8 @@ TagManager:
|
||||
-
|
||||
- Water
|
||||
- UI
|
||||
-
|
||||
-
|
||||
- VR
|
||||
- Portals
|
||||
-
|
||||
-
|
||||
-
|
||||
|
||||
Reference in New Issue
Block a user