首页 > 解决方案 > 在 Unity 中移动 LineRenderer 及其父级

问题描述

我在 Unity 中工作,我将 LineRenderers 创建为名为“out100”的 GameObject 的子级。我可以通过鼠标滚动单击来移动这个游戏对象,通过右键单击来旋转它等等......但它只是移动的游戏对象“out100”而不是 LineRenderers。

如何调整下面的代码以使 LineRenderers 与 GameObject“out100”一起移动?

代码:

foreach (KeyValuePair<string, List<Vector3>> sl in d) 
{
    Color c1 = Color.yellow;
    Color c2 = Color.red;
    GameObject lines = new GameObject ();
    lines.name = "lines" + sl.Key;
    lines.AddComponent<LineRenderer> ();
    lines.transform.SetParent (GameObject.Find ("out100").transform);
    LineRenderer lineRenderer = lines.GetComponent<LineRenderer> ();
    lineRenderer.material = new Material (Shader.Find ("Particles/Additive"));
    lineRenderer.widthMultiplier = 0.2f;
    lineRenderer.positionCount = sl.Value.Count;
    float alpha = 1.0f;
    Gradient gradient = new Gradient ();
    gradient.SetKeys 
    (
        new GradientColorKey[] { new GradientColorKey (c1, 0.0f), new GradientColorKey (c2, 1.0f) },
        new GradientAlphaKey[] { new GradientAlphaKey (alpha, 0.0f), new GradientAlphaKey (alpha, 1.0f) }
    );
    lineRenderer.colorGradient = gradient;
    lineRenderer.GetComponent<LineRenderer> ().SetPositions (sl.Value.ToArray());
}

标签: c#unity3d

解决方案


您需要取消选中使用世界空间

使用世界空间


推荐阅读