c# - 在 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());
}