diff --git a/Unity_2018_Frozen/Assets/Frozen/Script/CharacterBehaviour.cs b/Unity_2018_Frozen/Assets/Frozen/Script/CharacterBehaviour.cs index fbeb49d..f782f3d 100644 --- a/Unity_2018_Frozen/Assets/Frozen/Script/CharacterBehaviour.cs +++ b/Unity_2018_Frozen/Assets/Frozen/Script/CharacterBehaviour.cs @@ -57,18 +57,8 @@ public class CharacterBehaviour : MonoBehaviour void InitialiseDSPlayer() { -#if false - GameObject triggerObj = new GameObject("Trigger"); - triggerObj.transform.parent = this.transform; - SetClip(triggerObj.AddComponent(), triggerClip); - GameObject standbyObj = new GameObject("Standby"); - standbyObj.transform.parent = this.transform; - SetClip(standbyObj.AddComponent(), standbyClip); -#else CreateDSPlayer(triggerClip); CreateDSPlayer(standbyClip); - -#endif players = GetComponentsInChildren(); } @@ -76,11 +66,7 @@ public class CharacterBehaviour : MonoBehaviour { GameObject triggerObj = new GameObject(clip.name); triggerObj.transform.parent = this.transform; - SetClip(triggerObj.AddComponent(), clip); - } - - void SetClip(DShowMoviePlayer player, DShowClip clip) - { + var player = triggerObj.AddComponent(); player.VideoAsset = clip; player.Load(); } @@ -189,14 +175,14 @@ public class CharacterBehaviour : MonoBehaviour float noise = Mathf.PerlinNoise(Time.time * 0.4f, roaming_seed) > 0.5f ? 1.0f : -1.0f; noise *= roaming * Time.deltaTime; float padding = transform.localScale.x * 0.5f; - Vector3 pos = transform.localPosition; + Vector3 pos = transform.position; switch (area) { case Area.TopWall: { float minmax = Mathf.Abs(padding - FrozenScreenToWorldSpace.Instance.width * 0.5f); float x = Mathf.Clamp(pos.x + noise, -minmax, minmax); - transform.localPosition = new Vector3(x, pos.y, pos.z); + transform.position = new Vector3(x, pos.y, pos.z); } break; case Area.LeftWall: @@ -204,7 +190,7 @@ public class CharacterBehaviour : MonoBehaviour { float minmax = Mathf.Abs(padding - FrozenScreenToWorldSpace.Instance.length * 0.5f); float z = Mathf.Clamp(pos.z + noise, -minmax, minmax); - transform.localPosition = new Vector3(pos.x, pos.y, z); + transform.position = new Vector3(pos.x, pos.y, z); } break; } @@ -245,20 +231,31 @@ public class CharacterBehaviour : MonoBehaviour q.SetLookRotation(Vector3.forward); } transform.rotation = q; - transform.localPosition = newPos; + transform.position = newPos + FrozenScreenToWorldSpace.Instance.Position; RandomPos(); } void RandomPos() { - Vector3 randomPos = transform.localPosition; float minX = transform.localScale.x / 2; - +#if true + switch (area) + { + case Area.TopWall: + wallRoi.x = Random.Range(minX, FrozenScreenToWorldSpace.Instance.width - minX) / FrozenScreenToWorldSpace.Instance.width; + break; + case Area.LeftWall: + case Area.RightWall: + wallRoi.x = Random.Range(minX, FrozenScreenToWorldSpace.Instance.length - minX) / FrozenScreenToWorldSpace.Instance.length; + break; + } +#else + Vector3 randomPos = transform.localPosition; if (randomPos.x == 0) wallRoi.x = Random.Range(minX, FrozenScreenToWorldSpace.Instance.width - minX) / FrozenScreenToWorldSpace.Instance.width; else wallRoi.x = Random.Range(minX, FrozenScreenToWorldSpace.Instance.length - minX) / FrozenScreenToWorldSpace.Instance.length; - +#endif wallRoi.y = origin_height / FrozenScreenToWorldSpace.Instance.height; UpdatePos(); UpdateButtonPos(); @@ -266,13 +263,30 @@ public class CharacterBehaviour : MonoBehaviour void UpdatePos() { +#if true + Vector3 n_pos = transform.position; + switch (area) + { + case Area.TopWall: + n_pos.x = Mathf.Lerp(-FrozenScreenToWorldSpace.Instance.width / 2, FrozenScreenToWorldSpace.Instance.width / 2, wallRoi.x); + break; + case Area.LeftWall: + case Area.RightWall: + n_pos.z = Mathf.Lerp(-FrozenScreenToWorldSpace.Instance.length / 2, FrozenScreenToWorldSpace.Instance.length / 2, wallRoi.x); + break; + } + n_pos.y = Mathf.Lerp(0.0f, FrozenScreenToWorldSpace.Instance.height, wallRoi.y); + transform.position = n_pos + FrozenScreenToWorldSpace.Instance.Position; +#else Vector3 n_pos = transform.localPosition; + if (area == Area.TopWall) n_pos.x = Mathf.Lerp(-FrozenScreenToWorldSpace.Instance.width / 2, FrozenScreenToWorldSpace.Instance.width / 2, wallRoi.x); else n_pos.z = Mathf.Lerp(-FrozenScreenToWorldSpace.Instance.length / 2, FrozenScreenToWorldSpace.Instance.length / 2, wallRoi.x); n_pos.y = Mathf.Lerp(0, (float)FrozenScreenToWorldSpace.Instance.height, wallRoi.y); transform.localPosition = n_pos; +#endif //SetButtonPos(); } @@ -295,7 +309,7 @@ public class CharacterBehaviour : MonoBehaviour void UpdateWallRoiFromPosition() { - wallRoi = FrozenScreenToWorldSpace.Instance.GetWallRoiFromPosition(area, transform.localPosition); + wallRoi = FrozenScreenToWorldSpace.Instance.GetWallRoiFromPosition(area, transform.position); } private void Trigger(PointerEventData data) diff --git a/Unity_2018_Frozen/Assets/Frozen/Script/FrozenScreenToWorldSpace.cs b/Unity_2018_Frozen/Assets/Frozen/Script/FrozenScreenToWorldSpace.cs index 8a03f71..4a37c2c 100644 --- a/Unity_2018_Frozen/Assets/Frozen/Script/FrozenScreenToWorldSpace.cs +++ b/Unity_2018_Frozen/Assets/Frozen/Script/FrozenScreenToWorldSpace.cs @@ -131,6 +131,7 @@ public class FrozenScreenToWorldSpace : MonoBehaviour { public Vector2 GetWallRoiFromPosition(Area area, Vector3 position) { + position -= transform.position; Vector2 roi = Vector2.zero; switch (area) { @@ -155,4 +156,6 @@ public class FrozenScreenToWorldSpace : MonoBehaviour { } return roi; } + + public Vector3 Position { get { return transform.position; } } } diff --git a/Unity_2018_Frozen/Assets/KinectOpticalFlow/Grpc/KinectGrpcServer.cs b/Unity_2018_Frozen/Assets/KinectOpticalFlow/Grpc/KinectGrpcServer.cs index bd76ec5..4924765 100644 --- a/Unity_2018_Frozen/Assets/KinectOpticalFlow/Grpc/KinectGrpcServer.cs +++ b/Unity_2018_Frozen/Assets/KinectOpticalFlow/Grpc/KinectGrpcServer.cs @@ -91,7 +91,7 @@ namespace UltraCombos.Kinect2MotionTransmit private void Start() { buffer = new ComputeBuffer(width * height, sizeof(float) * 4); - Debug.LogFormat("Buffer is created by count {0} and stride {1}", buffer.count, buffer.stride); + Debug.LogFormat("[Kinect Grpc] Buffer is created by count {0} and stride {1}", buffer.count, buffer.stride); depth_high_data = new byte[buffer.count / 2]; depth_low_data = new byte[buffer.count / 2]; velocity_data = new byte[buffer.count]; @@ -257,7 +257,7 @@ namespace UltraCombos.Kinect2MotionTransmit }; server.Start(); - Debug.Log("Start Server"); + Debug.Log("[Kinect Grpc] Start Server"); } catch (System.Exception e) {