0
Unity/C#에서 메쉬와 텍스처 프로 시저를 생성하고 싶습니다. 그러나 사용자 정의 메쉬를 사용하려는 모든 시도는 첫 번째 텍셀 만 표시합니다. 가능한 한 많은 문제를 단순화하려고 시도하고 "폴란드어 플래그"대신 흰색 사각형을 그리는 다음 예제 코드를 생각해 냈습니다. Unity/C# : 프로 시저 메쉬의 프로 시저 텍스처
using UnityEngine;
using System.Collections;
public class Test : MonoBehaviour {
[SerializeField] Material unlitMaterial;
void Start() {
Mesh mesh = new Mesh();
mesh.vertices = new Vector3[4] { Vector3.zero, new Vector3 (1, 0, 0), new Vector3 (1, 0, 1), new Vector3 (0, 0, 1) };
mesh.triangles = new int[6] {1, 0, 3, 2, 1, 3 } ;
mesh.RecalculateNormals();
Texture2D texture = new Texture2D (2, 2);
texture.SetPixels (new Color[4] {Color.white, Color.white, Color.red, Color.red});
texture.filterMode = FilterMode.Point;
texture.Apply();
GameObject gameObject = new GameObject();
MeshRenderer meshRenderer = gameObject.AddComponent<MeshRenderer>();
if (unlitMaterial != null)
meshRenderer.material = unlitMaterial;
meshRenderer.material.mainTexture = texture;
gameObject.AddComponent<MeshFilter>().mesh = mesh;
}
}
는
감사합니다 도움이 ;-)
감사합니다! 나는 정말로 uvs를 잊었다, 어리석은 질문을 유감스럽게 생각한다. 누군가이 질문을하는 경우에는 다음 줄을 추가하십시오. mesh.uv = new Vector2 [4] {Vector2.zero, 새 Vector2 (1, 0), 새 Vector2 (1, 1), 새 Vector2 (0 , 1) }; 이 기본 예제를 만들 수 있습니다. – Lunkford