当前位置:   article > 正文

Unity3D Mesh学习笔记1-创建一个最简单的四边形_unity创建四边形模型

unity创建四边形模型
  1. using UnityEngine;
  2. using System.Collections;
  3. public class Quad : MonoBehaviour
  4. {
  5. // Use this for initialization
  6. void Start () {
  7. CreateQuad ();
  8. }
  9. private float m_width = 1;
  10. private float m_length = 1;
  11. public void CreateQuad()
  12. {
  13. /* 1. 顶点,三角形,法线,uv坐标, 绝对必要的部分只有顶点和三角形。
  14. 如果模型中不需要场景中的光照,那么就不需要法线。如果模型不需要贴材质,那么就不需要UV */
  15. Vector3[] vertices = new Vector3[4];
  16. Vector3[] normals = new Vector3[4];
  17. Vector2[] uv = new Vector2[4];
  18. vertices [0] = new Vector3 (0, 0, 0);
  19. uv [0] = new Vector2 (0, 0);
  20. normals [0] = Vector3.up;
  21. vertices [1] = new Vector3 (0, 0, m_length);
  22. uv [1] = new Vector2 (0, 1);
  23. normals [1] = Vector3.up;
  24. vertices [2] = new Vector3 (m_width, 0, m_length);
  25. uv [2] = new Vector2 (1, 1);
  26. normals [2] = Vector3.up;
  27. vertices [3] = new Vector3 (m_width, 0, 0);
  28. uv [3] = new Vector2 (1, 0);
  29. normals [3] = Vector3.up;
  30. /*2. 三角形,顶点索引:
  31. 三角形是由3个整数确定的,各个整数就是角的顶点的index。 各个三角形的顶点的顺序通常由下往上数, 可以是顺时针也可以是逆时针,这通常取决于我们从哪个方向看三角形。 通常,当mesh渲染时,"逆时针" 的面会被挡掉。 我们希望保证顺时针的面与法线的主向一致 */
  32. int[] indices = new int[6];
  33. indices [0] = 0;
  34. indices [1] = 1;
  35. indices [2] = 2;
  36. indices [3] = 0;
  37. indices [4] = 2;
  38. indices [5] = 3;
  39. Mesh mesh = new Mesh ();
  40. mesh.vertices = vertices;
  41. mesh.normals = normals;
  42. mesh.uv = uv;
  43. mesh.triangles = indices;
  44. mesh.RecalculateBounds ();
  45. MeshFilter filter = this.gameObject.AddComponent<MeshFilter> ();
  46. if(filter != null)
  47. {
  48. filter.sharedMesh = mesh;
  49. }
  50. MeshRenderer meshRender = this.gameObject.AddComponent<MeshRenderer> ();
  51. Shader shader = Shader.Find ("Diffuse");
  52. meshRender.sharedMaterial = new Material (shader);
  53. }
  54. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/881910
推荐阅读
相关标签
  

闽ICP备14008679号