fix: ping描边改为世界空间水平环,移除X旋转避免视角不可见
This commit is contained in:
@@ -40,14 +40,13 @@ public class PingClickHandler : MonoBehaviour
|
||||
if (_outlineRenderer != null) return;
|
||||
var ringGo = new GameObject("BlueRing");
|
||||
ringGo.transform.SetParent(transform, false);
|
||||
ringGo.transform.localPosition = Vector3.zero;
|
||||
ringGo.transform.localRotation = Quaternion.Euler(90f, 0, 0);
|
||||
ringGo.transform.localPosition = new Vector3(0, 0.05f, 0);
|
||||
|
||||
_outlineRenderer = ringGo.AddComponent<LineRenderer>();
|
||||
_outlineRenderer.useWorldSpace = false;
|
||||
_outlineRenderer.useWorldSpace = true;
|
||||
_outlineRenderer.loop = true;
|
||||
_outlineRenderer.startWidth = 0.04f;
|
||||
_outlineRenderer.endWidth = 0.04f;
|
||||
_outlineRenderer.startWidth = 0.05f;
|
||||
_outlineRenderer.endWidth = 0.05f;
|
||||
_outlineRenderer.material = new Material(Shader.Find("Unlit/Color"));
|
||||
_outlineRenderer.material.color = new Color(0.2f, 0.5f, 1f);
|
||||
_outlineRenderer.startColor = new Color(0.2f, 0.5f, 1f);
|
||||
@@ -56,10 +55,11 @@ public class PingClickHandler : MonoBehaviour
|
||||
float r = 0.25f;
|
||||
int segs = 32;
|
||||
_outlineRenderer.positionCount = segs;
|
||||
Vector3 center = transform.position + Vector3.up * 0.1f;
|
||||
for (int i = 0; i < segs; i++)
|
||||
{
|
||||
float a = i * 2f * Mathf.PI / segs;
|
||||
_outlineRenderer.SetPosition(i, new Vector3(Mathf.Cos(a) * r, Mathf.Sin(a) * r, 0));
|
||||
_outlineRenderer.SetPosition(i, center + new Vector3(Mathf.Cos(a) * r, 0, Mathf.Sin(a) * r));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user