16 [SyncVar(hook =
"xformchange")]
17 private Vector3 localPosition;
19 private void xformchange(Vector3 update)
21 Debug.Log(localPosition +
" xform change " + update);
22 localPosition = update;
29 private Quaternion localRotation;
41 localPosition = postion;
42 localRotation = rotation;
47 private int layerMask;
49 public Vector3 movementOffset = Vector3.zero;
50 private bool isOpaque =
false;
56 #if UNITY_2017_2_OR_NEWER 57 isOpaque =
UnityEngine.XR.WSA.HolographicSettings.IsDisplayOpaque;
65 localPosition = transform.localPosition;
66 localRotation = transform.localRotation;
80 transform.position = Vector3.Lerp(transform.position, ProposeTransformPosition(), 0.2f);
85 transform.localPosition = localPosition;
86 transform.localRotation = localRotation;
90 private Vector3 ProposeTransformPosition()
93 Vector3 retval = Camera.main.transform.position + Camera.main.transform.forward * 3 + movementOffset;
95 if (Physics.Raycast(Camera.main.transform.position, Camera.main.transform.forward, out hitInfo, 5.0f, layerMask))
97 retval = hitInfo.point + movementOffset;
104 if (isOpaque ==
false)
125 localPosition = transform.localPosition;
126 localRotation = transform.localRotation;