我正在使用Shader.
然后在层次结构中我的对象我正在使用SuperSystem / Wireframe-Transparent . 结果是:
现在该对象是透明线框 . 这是问题所在,因为它也是透明的,我无法为它着色 .
我正在使用这个脚本:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MeshGenerator : MonoBehaviour
{
public GameObject meshPrefab;
public Vector3[] newVertices;
public Vector2[] newUV;
public int[] newTriangles;
private Mesh mesh;
void Start()
{
Mesh meshprefab = meshPrefab.GetComponent<MeshFilter>().sharedMesh;
newVertices = meshprefab.vertices;
newUV = meshprefab.uv;
newTriangles = meshprefab.triangles;
mesh = new Mesh();
mesh = gameObject.GetComponent<MeshFilter>().mesh;
mesh.Clear();
mesh.vertices = newVertices;//new Vector3[] { new Vector3(0, 0, 0), new Vector3(0, 0.25f, 0), new Vector3(0.25f, 0.25f, 0) };
mesh.uv = newUV;//new Vector2[] { new Vector2(0, 0), new Vector2(0, 0.25f), new Vector2(0.25f, 0.25f) };
mesh.triangles = newTriangles;//new int[] { 0, 1, 2 };
}
}
如果我将脚本附加到透明线框的对象上,它将不会做任何事情,但如果我将脚本附加到带有standrad着色器的新游戏对象,它将创建新的网格 .
我的主要目标:
能够访问和更改透明线框对象的每个三角形 . 例如,在屏幕截图中使用线框时,将网格中的一个特定三角形用红色着色 .
但由于它是透明的,我使用预制网格来获取我的代码中的所有三角形uv法线但我想在层次结构Rock4A中使用线框(1)
例如,仅为3D线框中的这个特定三角形着色:我试图在绘画中为一个三角形着色,以显示我的意思 .