diff --git a/Assets/Resources/UI/Prefab/Match/onlinePlayerNoScript.prefab b/Assets/Resources/UI/Prefab/Match/onlinePlayerNoScript.prefab index 86aaec30..f92fc115 100644 --- a/Assets/Resources/UI/Prefab/Match/onlinePlayerNoScript.prefab +++ b/Assets/Resources/UI/Prefab/Match/onlinePlayerNoScript.prefab @@ -1563,7 +1563,7 @@ GameObject: - component: {fileID: 7021295876441894168} - component: {fileID: 7021295876449305338} m_Layer: 0 - m_Name: onlinePlayerTest + m_Name: onlinePlayerNoScript m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -1960,7 +1960,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!4 &7021295876441894184 Transform: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Scenes/Ride/Scripts/CyclingController.cs b/Assets/Scripts/Scenes/Ride/Scripts/CyclingController.cs index 1d594117..6658c631 100644 --- a/Assets/Scripts/Scenes/Ride/Scripts/CyclingController.cs +++ b/Assets/Scripts/Scenes/Ride/Scripts/CyclingController.cs @@ -763,7 +763,10 @@ public class CyclingController : DeviceServiceMonoBase player.transform.position = currentPos; playerController.currentPos = currentPos; var trail = FindObjectOfType(); - trail.enabled = true; + if (trail != null) + { + trail.enabled = true; + } Vector2d nextLatLon = Along(recorderData.EndDistance + 0.1); //设定人物方向 @@ -1266,6 +1269,13 @@ public BaseUIManager singleUIManager; index = endDistance >= mapData.TotalDistance ? pointList.Count - 1 : index; return index; } + + public double Distance(Vector2d from, Vector2d to) + { + var pt1 = Turf.Point(new double[] { from.x, from.y }); + var pt2 = Turf.Point(new double[] { to.x, to.y }); + return Turf.Distance(pt1, pt2); + } public Vector2d Along(double endDistance) { if (mapData != null) diff --git a/Assets/Scripts/Scenes/Ride/Scripts/OnlinePlayerController.cs b/Assets/Scripts/Scenes/Ride/Scripts/OnlinePlayerController.cs index 68d424dd..d663d7fc 100644 --- a/Assets/Scripts/Scenes/Ride/Scripts/OnlinePlayerController.cs +++ b/Assets/Scripts/Scenes/Ride/Scripts/OnlinePlayerController.cs @@ -163,7 +163,11 @@ namespace Assets.Scenes.Ride.Scripts } //如果观察的是当前用户 隐藏UI 添加trailrender var iscurrentUser = mainController.currentPlayer.UserId == UserId; - arrowImage.gameObject.SetActive(!iscurrentUser); + var s = mainController.currentPlayer.Currentlatlong; + var e = currentlatlong; + var distancesss = mainController.Distance(s, e); + arrowImage.gameObject.SetActive(!iscurrentUser && distancesss <= 2); + if (iscurrentUser && trailRenderer == null) { trailRenderer = gameObject.AddComponent(); @@ -172,8 +176,8 @@ namespace Assets.Scenes.Ride.Scripts var Graph2 = mainController.Get3dGraph2(); //Resources.Load("UI/Material/3dGraph2"); trailRenderer.material = Graph2;//new Material[] { Graph2 }; trailRenderer.time = 30; - trailRenderer.startWidth = 1f; - trailRenderer.endWidth = 1f; + trailRenderer.startWidth = 0.5f; + trailRenderer.endWidth = 0.5f; trailRenderer.startColor = new Color(0.9764706f, 0.1882353f, 0.5254902f, 1f); trailRenderer.endColor = new Color(0.9764706f, 0.1882353f, 0.5254902f, 1f); trailRenderer.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off;