Trail Renderer в скрипте Unity c# - PullRequest
1 голос
/ 16 февраля 2020

У меня есть простой проект, в котором я порождаю несколько астероидов, и они имеют тенденцию тяготеть над пл anet. Я хотел добавить простой след для улучшения визуальных эффектов. Это очень просто, когда я добавляю астероид вручную, а затем добавляю компонент "Trail Renderer" и выбираю нужный материал. Но я не могу понять, как добавить его в скрипт. На данный момент это мой код:

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» Как я могу указать в сценарии, что я хочу использовать этот конкретный c материал?

С уважением.

1 Ответ

1 голос
/ 16 февраля 2020

Обратите внимание, если вам нужны эти компоненты - TrailRenderer, SphereCollider et c. - на всех метеорах вы можете просто добавить их в сам префаб вручную (перетаскивая их поверх него). Тогда они уже будут там, нужные материалы и все, как только вы создадите основной префаб.

Затем вы все равно можете отрегулировать определенные c настройки (или отключить компоненты), используя их получение через GetComponent<TrailRenderer>() et c. Удачи!

...