Unity 메시에 uv 지정

1650 단어 그래픽스

문서 목록

  • 구성 요소별 기능
  • 구성 요소 역할

  • meshFilter 구성 요소에서 mesh 대상을 얻을 수 있습니다
  • mesh 대상에서vertex,uv 좌표를 가져오고 이 좌표를 지정
  • 다음은 물체를 동적으로 생성하고 재질을 지정하는 코드
  • using UnityEngine;
    using System.Collections;
     
    
    public class TextureTest : MonoBehaviour
    {
     
        private Mesh mh;
        private Renderer rd;
        
    
        public Material mat;
     
    
        void Awake()
        {
            GameObject obj = new GameObject();
            mh = obj.AddComponent().mesh;
            rd = obj.AddComponent();
            CreateBar( );
        }
    
        //        
        public float one;
        public float two;
        public float three;
    
        void CreateBar()
        {
            this.barIndex = barIndex;
     
            //    
            Vector3[] vertes = new Vector3[]
            {
                new Vector3(one, 0, 0),//    
                new Vector3(0, two, 0), //   
                new Vector3(0, 0, three), //   
               
            };
     
            //        
            mh.vertices = vertes;
     
            //        
            mh.triangles = new[]
            {
                0, 1, 2,
                2, 1, 0  //       
            };
     
            //UV      ,       ,    (0,0),    (1,1)
            //         UV  ,        
            Vector2[] uvs = new Vector2[]
            {
                new Vector2(0, 0),//    
                new Vector2(1,1), //2
                new Vector2(0.5f , 1)//3
              
            };
     
            mh.uv = uvs;
     
            //  
            rd.material = mat;
     
            //      
            mh.RecalculateNormals();
     
        }
    
        
        private void Update() {
            if(Input.GetKeyDown(KeyCode.Space)){
                CreateBar();
            }
        }
     
    
    }
    

    좋은 웹페이지 즐겨찾기