找回密码
 立即注册
查看: 1793|回复: 13

[基础] 用代码创建一个cube-知识点(vertices、triangle、uvs)

[复制链接]
发表于 2018-8-1 10:08 | 显示全部楼层 |阅读模式
资源信息 Tutorial Information
教程名称: 用代码创建一个cube-知识点(vertices、triangle、uvs)(发帖教程)
适用引擎: Unity3D  (适用引擎,为空默认为Unity)
教程语种: 中文
教程等级: 1
教程格式: 图文(请用IE9以上浏览器访问本版块)
教程作者: 转载自互联网 (如有问题请短消息联系作者或发表回复)
下载地址: (兑换积分)
点击查看原图
美丽分割线

[code=csharp]using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// Draw AC ube. MDOE BY U3DCHINA.COM
/// </summary>
public class DrawACube : MonoBehaviour {
  public GameObject cube;
  // Use this for initialization
  void Start () {
    MeshFilter mf = cube.GetComponent<MeshFilter> ();
    Mesh mesh = mf.mesh;
    Vector3[] vertices = new Vector3[]{
      //front
      new Vector3(-1,1,1),
      new Vector3(1,1,1),
      new Vector3(-1,-1,1),
      new Vector3(1,-1,1),

      //top
      new Vector3(-1,1,-1),
      new Vector3(1,1,-1),
      new Vector3(-1,1,1),
      new Vector3(1,1,1),
   
      //right

      new Vector3(1,1,1),
      new Vector3(1,1,-1),
      new Vector3(1,-1,1),
      new Vector3(1,-1,-1),
      //left

      new Vector3(-1,1,-1),
      new Vector3(-1,1,1),
      new Vector3(-1,-1,-1),
      new Vector3(-1,-1,1),
      //back

      new Vector3(1,1,-1),
      new Vector3(-1,1,-1),
      new Vector3(1,-1,-1),
      new Vector3(-1,-1,-1),
      //bottom

      new Vector3(-1,-1,1),
      new Vector3(1,-1,1),
      new Vector3(-1,-1,-1),
      new Vector3(1,-1,-1)

    };
    int[] triangles = new int[]{
      0,2,3,
      3,1,0,

      0+4,2+4,3+4,
      3+4,1+4,0+4,

      0+4*2,2+4*2,3+4*2,
      3+4*2,1+4*2,0+4*2,

      0+4*3,2+4*3,3+4*3,
      3+4*3,1+4*3,0+4*3,

      0+4*4,2+4*4,3+4*4,
      3+4*4,1+4*4,0+4*4,

      0+4*5,2+4*5,3+4*5,
      3+4*5,1+4*5,0+4*5,
    };
    //UVs//
    Vector2[] uvs = new Vector2[]
    {
      //front face// 0,0 is bottom left, 1,1 is top right//
      new Vector2(0,1),
      new Vector2(1,1),
      new Vector2(0,0),
      new Vector2(1,0),

      new Vector2(0,1),
      new Vector2(0,0),
      new Vector2(1,1),
      new Vector2(1,0),

      new Vector2(0,1),
      new Vector2(0,0),
      new Vector2(1,1),
      new Vector2(1,0),

      new Vector2(0,1),
      new Vector2(0,0),
      new Vector2(1,1),
      new Vector2(1,0),

      new Vector2(0,1),
      new Vector2(0,0),
      new Vector2(1,1),
      new Vector2(1,0),

      new Vector2(0,1),
      new Vector2(0,0),
      new Vector2(1,1),
      new Vector2(1,0)
    };
    mesh.Clear ();
    mesh.vertices = vertices;
    mesh.triangles = triangles;
    mesh.uv = uvs;
    mesh.RecalculateNormals ();
  }
  
  // Update is called once per frame
  void Update () {
   
  }
}
[/code]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
 楼主| 发表于 2018-8-1 10:20 | 显示全部楼层
记住triangles 顺时针绘制
发表于 2018-9-17 08:04 | 显示全部楼层
楼主是超人
发表于 2018-9-17 08:03 | 显示全部楼层
顶顶多好
发表于 2018-9-17 08:10 | 显示全部楼层
真心顶
发表于 2018-9-17 08:39 | 显示全部楼层
说的非常好
发表于 2018-9-17 08:25 | 显示全部楼层
LZ真是人才
发表于 2018-12-3 22:32 | 显示全部楼层

也不能一竿子打死呀!
发表于 2019-1-9 13:49 | 显示全部楼层

感谢楼主的无私分享!
发表于 2019-7-21 07:54 | 显示全部楼层
很不错
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-4-25 19:27 , Processed in 0.102873 second(s), 33 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表