C# 沿着或穿过路径放置和复制游戏对象
我是Unity的初学者,我想单独创建一个个人项目。 我在场景中有两个游戏对象,我使用Unity上的LineRenderer和NavMesh代理在两个游戏对象之间绘制路径,到目前为止,一切都很好,Unity在两个游戏对象之间绘制路径C# 沿着或穿过路径放置和复制游戏对象,c#,unity3d,navigation,C#,Unity3d,Navigation,我是Unity的初学者,我想单独创建一个个人项目。 我在场景中有两个游戏对象,我使用Unity上的LineRenderer和NavMesh代理在两个游戏对象之间绘制路径,到目前为止,一切都很好,Unity在两个游戏对象之间绘制路径 Void Update (){ OnDrawGiz(GameObject.Find("Destination")); } void OnDrawGiz(GameObject obj) { Transform target = ob
Void Update (){
OnDrawGiz(GameObject.Find("Destination"));
}
void OnDrawGiz(GameObject obj)
{
Transform target = obj.GetComponent<Transform> ();
NavMeshAgent nav;
LineRenderer line;
nav= this.GetComponent<NavMeshAgent>();
if( nav == null || nav.path == null )
return;
line = this.GetComponent<LineRenderer>();
line.material = new Material( Shader.Find( "Sprites/Default" ) ) { color
= Color.yellow };
line.startColor=Color.yellow;
line.endColor = Color.green;
nav.SetDestination (target.position);
nav.isStopped=true;
var path = nav.path;
if (path.corners.Length < 2)
return ;
line.positionCount=path.corners.Length ;
//Draw the line
for( int i = 0; i < path.corners.Length; i++ )
{
line.SetPosition( i, path.corners[i] );
}
}
现在我的问题是,我如何在这条路径上放置和复制一个游戏对象,例如一个立方体?
我在最后一个for循环中使用了C脚本Unity 5.6,在line.SetPosition I,path.corners[I]之前或之后;,可以使用path.corners[i]沿直线获取顶点。只需在那里使用实例化来实例化一个游戏对象。例如:
实例化prefab,path.corners[i],Quaternion.identity
检查此处的文档第一个示例与您想要的类似:我也找到了另一个解决方案