Version: 2023.2
言語: 日本語
public LineTextureMode textureMode ;

説明

Choose whether the U coordinate of the line texture is tiled or stretched.

Stretching maps the texture along the line with no repeats. Tiling maps the texture along the line with repeats every world unit. To change the repeat rate, use LineRenderer.textureScale or Material.SetTextureScale.

using UnityEngine;
using System.Collections;
using UnityEditor;

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

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

// Set some positions Vector3[] positions = new Vector3[3]; positions[0] = new Vector3(-2.0f, -1.0f, 0.0f); positions[1] = new Vector3(0.0f, -0.5f, 0.0f); positions[2] = new Vector3(2.0f, -1.0f, 0.0f); lr.positionCount = positions.Length; lr.SetPositions(positions); }

void Update() { lr.textureMode = textureMode; lr.textureScale = new Vector2(textureScale, 1.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), "Texture Scale"); textureScale = GUI.HorizontalSlider(new Rect(125, 65, 200, 30), textureScale, 0.1f, 4.0f); } }