版本: Unity 6 (6000.0)
语言英语
  • C#

TrailRenderer.textureMode

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交的内容,但我们确实会阅读用户提出的每一个更改建议,并在适用的情况下进行更新。

关闭

提交失败

由于某些原因,您的更改建议无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

切换到手册
public LineTextureMode textureMode;

描述

选择轨迹纹理的 U 坐标是平铺还是拉伸。

拉伸将纹理映射到轨迹上,不重复。平铺将纹理映射到轨迹上,每个世界单位重复一次。要更改重复率,请使用 TrailRenderer.textureScaleMaterial.SetTextureScale

using UnityEditor;
using UnityEngine;
using System.Collections;

[RequireComponent(typeof(TrailRenderer))] public class ExampleClass : MonoBehaviour { public LineTextureMode textureMode = LineTextureMode.Stretch; public float textureScale = 1.0f; private TrailRenderer tr;

void Start() { tr = GetComponent<TrailRenderer>(); tr.material = new Material(Shader.Find("Sprites/Default")); }

void Update() { tr.textureMode = textureMode; tr.textureScale = new Vector2(textureScale, 1.0f); tr.transform.position = new Vector3(Mathf.Sin(Time.time * 1.51f) * 7.0f, Mathf.Cos(Time.time * 1.27f) * 4.0f, 0.0f); }

void OnGUI() { textureMode = GUI.Toggle(new Rect(25, 25, 200, 30), textureMode == LineTextureMode.Tile, "Tiled") ? LineTextureMode.Tile : LineTextureMode.Stretch;

GUI.Label(new Rect(25, 60, 200, 30), "Tile Amount"); textureScale = GUI.HorizontalSlider(new Rect(125, 65, 200, 30), textureScale, 0.1f, 4.0f); } }