私は、カーブフィーバーのようなゲームを作成しようとしています。私が達成しようとしているのは、1秒に1回、ラインの間にギャップがあることです。Unityは、ポイント間のギャップを持つラインを作成します。
現在、私はLineRendererを使用して、このようにポイントを設定しています:
void Update() {
if(Vector3.Distance(points.Last(), snake.position) > pointSpacing)
SetPoint();
}
public void SetPoint(){
if (noGap)
{
if (points.Count > 1)
coll.points = points.ToArray<Vector2>();
points.Add(snake.position);
line.numPositions = points.Count;
line.SetPosition(points.Count - 1, snake.position);
}
}
public IEnumerator LineGap(){
while (enabled)
{
yield return new WaitForSeconds(2f);
noGap = false;
yield return new WaitForSeconds(.5f);
noGap = true;
}
}
コルーチンで、私は、0.5秒間2秒に1回ポイントを作成しないようにしようとしたが、LineRendererを作成するために作られている上2点毎の線。
私がしようとしていることを達成する方法はありますか?たぶん別の種類のレンダラーを使用していますか?
Vectrosityを調べましたか? – maksymiuk
もちろん、ラインをレンダリングする別の方法があります! ['GL.Lines'](https://docs.unity3d.com/ScriptReference/GL.LINES.html)を検討してください。または、1つではない厚さの場合は、クワッドを描く必要があります。 – Serlite
複数のラインレンダラを使用します。ラインの各セグメントに1つずつ使用します。絶対に必要でない限り、低レベルのレンダリング機能を使用しないでください。 – Arshia001