首页 > 其他分享 >cube的绘制以及图片的完整显示

cube的绘制以及图片的完整显示

时间:2023-01-06 18:01:56浏览次数:45  
标签:cube Vector3 0.5 Add vertices 完整 new 绘制 triangles

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CreatUVCube : MonoBehaviour
{
public MeshFilter mf;
public MeshRenderer mr;
public MeshCollider mc;
public Texture2D texture;
// Start is called before the first frame update
void Start()
{
Mesh mesh = new Mesh();
List<Vector3> vertices = new List<Vector3>();
vertices.Add(new Vector3(0, 0, 0) - Vector3.one * 0.5f);
vertices.Add(new Vector3(0, 1, 0) - Vector3.one * 0.5f);
vertices.Add(new Vector3(1, 0, 0) - Vector3.one * 0.5f);
vertices.Add(new Vector3(1, 1, 0) - Vector3.one * 0.5f);

vertices.Add(new Vector3(1, 0, 0) - Vector3.one * 0.5f);
vertices.Add(new Vector3(1, 1, 0) - Vector3.one * 0.5f);
vertices.Add(new Vector3(1, 0, 1) - Vector3.one * 0.5f);
vertices.Add(new Vector3(1, 1, 1) - Vector3.one * 0.5f);

vertices.Add(new Vector3(1, 0, 1) - Vector3.one * 0.5f);
vertices.Add(new Vector3(1, 1, 1) - Vector3.one * 0.5f);
vertices.Add(new Vector3(0, 0, 1) - Vector3.one * 0.5f);
vertices.Add(new Vector3(0, 1, 1) - Vector3.one * 0.5f);

vertices.Add(new Vector3(0, 0, 1) - Vector3.one * 0.5f);
vertices.Add(new Vector3(0, 1, 1) - Vector3.one * 0.5f);
vertices.Add(new Vector3(0, 0, 0) - Vector3.one * 0.5f);
vertices.Add(new Vector3(0, 1, 0) - Vector3.one * 0.5f);

vertices.Add(new Vector3(0, 1, 0) - Vector3.one * 0.5f);
vertices.Add(new Vector3(0, 1, 1) - Vector3.one * 0.5f);
vertices.Add(new Vector3(1, 1, 0) - Vector3.one * 0.5f);
vertices.Add(new Vector3(1, 1, 1) - Vector3.one * 0.5f);

vertices.Add(new Vector3(0, 0, 1) - Vector3.one * 0.5f);
vertices.Add(new Vector3(0, 0, 0) - Vector3.one * 0.5f);
vertices.Add(new Vector3(1, 0, 1) - Vector3.one * 0.5f);
vertices.Add(new Vector3(1, 0, 0) - Vector3.one * 0.5f);

mesh.vertices = vertices.ToArray();

List<Vector2> uv = new List<Vector2>();
for (int i = 0; i < 6; i++)
{
uv.Add(new Vector2(0, 0));
uv.Add(new Vector2(0, 1));
uv.Add(new Vector2(1, 0));
uv.Add(new Vector2(1, 1));

}
mesh.uv = uv.ToArray();

List<int> triangles = new List<int>();
for (int i = 0; i < 6; i++)
{
triangles.Add(0 + 4 * i);
triangles.Add(1 + 4 * i);
triangles.Add(2 + 4 * i);

triangles.Add(3 + 4 * i);
triangles.Add(2 + 4 * i);
triangles.Add(1 + 4 * i);
}
Material material = new Material(Shader.Find("Standard"));
material.mainTexture = texture;
mr.material = material;

mesh.triangles = triangles.ToArray();
mesh.RecalculateNormals();

mf.mesh = mesh;

}

// Update is called once per frame
void Update()
{

}
}

标签:cube,Vector3,0.5,Add,vertices,完整,new,绘制,triangles
From: https://www.cnblogs.com/zanzz/p/17031222.html

相关文章

  • Maven 环境踩坑及完整配置
    文章目录​​一、错误描述​​​​二、解决​​​​三、完整配置​​一、错误描述mavenCouldnottransferartifactXXXfromtoXXX(XXX)Notauthorized,ReasonPhrase......
  • MySQL优化(超完整版)(一)
    一、 MySQL的优化  前言:  MySQL数据库的优化模块:   -数据库的设计—三大范式   -数据库的索引:唯一索引、主键索引、聚合索引、复合索引、默认索引 ......
  • MySQL优化(超完整版)(二)
    7. MySQL分库分表(1)分库分表概念介绍  MySQL的分库分表有两种方式:垂直拆分和水平拆分。  垂直拆分:垂直拆分就是要把表按模块划分到不同数据库表中(当然原则还是不破......
  • EasyX绘制多边形
    引言:在Easyx中,专门给了一个函数绘制多边形——polygon函数一、打印较简单的多边形像长方形、正方形、三角形、梯形这些多边形较容易打印,因为他们的顶点坐标较容易求出。比如......
  • Python 异步:完整教程
    Asyncio允许我们在Python中使用基于协程的并发异步编程。尽管asyncio已经在Python中使用多年,但它仍然是Python中最有趣但最令人沮丧的领域之一。对于新开发人员来......
  • 第二十五章《图书管理系统》第3节:项目完整代码
    图书管理系统总共包含24个类,原本打算把这些类的源代码全部贴出,但无奈代码量太大导致超出系统允许范围,因此只能把代码打包上传了,下载地址是:​​Swing版图书管理系统源码​​......
  • 第二十三章《斗地主游戏》第3节:项目完整代码
    对于初学者来说,斗地主游戏是一个比较复杂的项目,它涉及的类很多,以下是这个项目所有类的源代码,源码中有两个Main.java文件,它们虽然文件名称相同,但位于不同的包下,读者在复制粘......
  • MAUI Blazor学习4-绘制BootstrapBlazor.Chart图表
    MAUIBlazor学习4-绘制BootstrapBlazor.Chart图表 MAUIBlazor系列目录MAUIBlazor学习1-移动客户端Shell布局-SunnyTrudeau-博客园(cnblogs.com)MAUIBlazor学......
  • javaWeb实现完整的登录功能(新手使用)
    十一部写一个完整的javaWeb登录(一个正在路上的小白纯手敲代码,无复制,大神绕路,供新上路的同学们一起交流)建议从底层往上编写dao接口--->dao实现类--->service接口--->servic......
  • 使用pyecharts.charts绘制中国地图
    今天发现个好玩的东西浅浅的记录一下。frompyecharts.chartsimportMaplables=['湖北','湖南','广东','北京','上海','河南','河北','山东','陕西','山西','四川']count......