![](/img/trans.png)
[英]Change width parameter of Trail Renderer with audio spectrum C# Script in Unity
[英]Trail Renderer in Unity c# script
我有一个简单的项目,我在其中生成了多个小行星,它们往往会被一个行星吸引。 我想添加一个简单的轨迹来增强视觉效果。 当我手动添加小行星然后添加组件“轨迹渲染器”并选择所需的材料时,这非常简单。 但我无法弄清楚如何将其添加到脚本中。 这是我现在的代码:
using System.Collections;
using UnityEngine;
[RequireComponent(typeof(Rigidbody))]
[RequireComponent(typeof(FauxGravityBody))]
public class Spawner : MonoBehaviour {
public GameObject meteorPrefab;
public float distance = 20f;
public float time = 10f;
private GameObject meteor;
public TrailRenderer trail;
void Start ()
{
StartCoroutine(SpawnMeteor());
}
IEnumerator SpawnMeteor()
{
Vector3 pos = Random.onUnitSphere * distance;
meteor = Instantiate(meteorPrefab, pos, Quaternion.identity);
meteor.AddComponent<FauxGravityBody>();
meteor.AddComponent<DestroyMeteor>();
meteor.AddComponent<SphereCollider>();
meteor.AddComponent<TrailRenderer>();
yield return new WaitForSeconds(time);
StartCoroutine(SpawnMeteor());
}
}
这确实将轨迹添加到生成的对象中,但它使用的是默认的粉红色轨迹。 我想要的路径材料位于文件夹“Assets/Effects/Trail.mat”中。 如何在脚本中指定要使用该特定材料?
亲切的问候。
请注意,如果您需要这些组件——TrailRenderer、SphereCollider 等——在所有流星上,您只需手动将它们添加到预制件本身(通过将它们拖到它上面)。 然后,一旦您实例化主要预制件,它们就已经在那里了,正确的材料等等。
然后,您仍然可以通过GetComponent<TrailRenderer>()
等获取它们来调整特定设置(或禁用组件GetComponent<TrailRenderer>()
。祝你好运!
最好的方法是......
创建Prefab
并将您需要的组件附加到您的Prefab
并在您需要的时间和Instatiate
对其进行Instatiate
并使用GetComponent<>()
方法可以获得附加组件
GameObject bullets = Instantiate(yourPrefab, yourtransform.position, Quaternion.identity) as GameObject;
bullets.GetComponent<Rigidbody>().AddForce(transform.forward * 100, ForceMode.Impulse);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.