分类:Unity、C#、VS2015

创建日期:2016-04-02

一、基本概念

Unity已经内置了一些基本的3D对象,利用这些内置的3D对象就可以直接构建出各种3D模型(当然,复杂的三维模型还需要借助专业建模软件来完成)。

Unity 5.3.4内置的3D对象有:

Cube:立方体

Sphere:球体

Capsule:胶囊体。

Cylinder:圆柱体。

Plane:平面。

Quad:四方格。

Ragdoll:布娃娃系统。

Terrain:地形。

Tree:树。

Wind Zone:风。

3D Text:文字。

二、Cube基本用法

下面以Cube为例,说明直接创建3D模型的基本用法。

创建立方体(Cube)的办法:【GameObject】->【3D Object】->【Cube】:

创建一个Cube对象后,在层次视图中就会看到该对象的名称。

为了区分是哪个对象,也可以单击层次视图中刚创建的对象修改其名称,例如,将刚创建的对象改为“Cube01”。

按F快捷键(居中),就可以在场景中看到Cube01原始的形状:

下图是继续创建的Cube02(先在检视器中不勾选Cube01将其变为不可见,再选中Cube02,然后按R键进入缩放模式,再拖动鼠标左键分别缩放X、Y、Z方向):

下图是Cube01、Cube02都可见,且Cube01改变形状和位置后的效果。仍然是利用Q、W、E、R快捷键(手形、平移、旋转、缩放),并拖动鼠标来实现:

再创建一个Cube03:

同时选中Cube01、Cube02、Cube03,再利用【Duplicate】复制一份(快捷键:Ctrl+D):

下面是复制后的结果:

再旋转一下:

通过这些步骤,可看出仅利用Cube就可以创建出各种形状。

删除刚复制的对象(仅为了让你看看如何复制)。

下面给这三个Cube贴图。

将Grass01拖放到Cube01,将Brick_D拖放到Cube02和Cube03,并将Cube03(或者Cube02)贴图的【Tiling】属性中的x值设置为15,如下图所示:

这就得到了下面的效果:

利用内置的3D对象创建其他基本模型的办法与这里介绍的利用Cube创建各种3D模型的办法类似。

如果再将这些基本模型组合起来,就可以构造出各种形状的三维模型了。

三、说明

前面虽然介绍了如何在Unity中直接创建3D对象,但是,直接这样做有一个很大的缺点:由于每个3D对象都是一个独立的组件,而且其性质都相似,每次都新建这么多的独立对象很占用内存空间,渲染性能也较低。或者说,这种办法并不是一个好办法,那么,实际应该如何做呢?这就是下一节将要介绍的“预设(Prefab)”的作用。

【Unity】3.1 利用内置的3D对象创建三维模型的更多相关文章

  1. 关于Unity中Shader的内置值

    Unity provides a handful of builtin values for your shaders: things like current object's transforma ...

  2. ES6新特性:Javascript中内置的延迟对象Promise

    Promise的基本使用: 利用Promise是解决JS异步执行时候回调函数嵌套回调函数的问题, 更简洁地控制函数执行流程: 通过new实例化Promise,  构造函数需要两个参数, 第一个参数为函 ...

  3. JSP内置九个对象Request请求对象

    jsp内置对象是什么呢? 例如Java语言使用一个对象之前需要实例化(也就是所说的new一个对象),创建对象这个过程有点麻烦,所以在jsp中提供了一些内置对象,用来实现很多jsp应用.在使用内置对象时 ...

  4. JavaScript基础 -- js常用内置方法和对象

    JS中常用的内置函数如下: 1.eval(str):计算表达式的结果. 2.parseInt(str,n):将符串转换成整数数字形式(可指定几进制). 3.parseFloat(str):将字符串转换 ...

  5. android菜鸟学习笔记23----ContentProvider(三)利用内置ContentProvider监听短信及查看联系人

    要使用一个ContentProvider,必须要知道的是它所能匹配的Uri及其数据存储的表的结构. 首先想办法找到访问短信及联系人数据的ContentProvider能接受的Uri: 到github上 ...

  6. Unity3-各个内置面板,对象说明

    *在Inspector面板中,是表示每个物体(诸如摄像机,圆柱,正方体)的组件. 组件包含: 1.Transform,在第一节当中,可以用于变换物体的位置.每个物体对象都有. 2.cube,网格,对于 ...

  7. 【Unity】8.1 Unity内置的UI控件

    分类:Unity.C#.VS2015 创建日期:2016-04-27 一.简介 Unity 5.x内置了-套完整的GUI系统,提供了从布局.控件到皮肤的-整套GUI解决方案,因此可直接利用它做出各种风 ...

  8. unity shader 内置变量

    官网Manual:http://docs.unity3d.com/Manual/SL-UnityShaderVariables.html unity提供大量的内置变量,来供我们使用,主要包括一些 :矩 ...

  9. 浏览器内置Console函数使用详解

    浏览器内置Console函数比较好用:Chrome 和 FireFox(Firebug插件) 利用此功能可以像直接在面板里面运行JS一样(写法不同而已) 一.显示信息的命令 Firebug内置一个co ...

随机推荐

  1. CentOS7统计某个进程当前的线程数

    方式一: cat /proc/[pid]/status 展示结果中,Threads后边对应的数字就是进程拥有的线程数量 方式二: |wc -l

  2. CentOS7 修改主机名

    命令: hostnamectl set-hostname [yourhostname] 不过这种方法,大写会自动变成小写. 还有一种方法,直接修改 /etc/hostname文件,这个可以保证大写不变 ...

  3. OpenCV 数字验证码识别

    更新后代码下载链接在此! !! 点我下载 本文针对OpenCv入门人士.由于我也不是专门做图像的,仅仅是为了完毕一次模式识别的小作业. 主要完毕的功能就是自己主动识别图片中的数字.图片包含正常图片,有 ...

  4. ios中图片旋转

    @interface ViewController () { UIImageView *_imageview; BOOL flag; } @end @implementation ViewContro ...

  5. Tensorflow结点打包和依赖控制

    深度学习库能够充分发挥GPU并行计算的能力,但是有时我们却不得不需要串行.这时就需要用到依赖控制. import tensorflow as tf a = tf.Variable(1) b = tf. ...

  6. ThinkPHP学习(二)

    书接前文. 我想前台填写内容,然后在后台保存一下,规划了一下前台要录入的内容,主要包括title.content两大内容.然后简单设计了一个前台页面(复杂的我得会啊),就在上篇文章的基础上直接加了: ...

  7. angularJS实现无刷新文件下载

    $scope.getExcel = function () { $http.post("/production/statistics/export", { storeId: $sc ...

  8. zabbix数据库需要多大硬盘?我告诉你

    本次案例:100台服务器,每台服务器有30个监控项,每个监控项60秒刷新一次,需要多大的硬盘呢?众所周知,zabbix基本都是通过web配置,这些配置数据也是存放到数据库里的,但是它对硬盘容量的要求基 ...

  9. 什么是分表和分区 MySql数据库分区和分表方法

    1.为什么要分表和分区 日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表.这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询的情况,性 ...

  10. 自动化部署必备技能—定制化RPM包

    回顾下安装软件的三种方式: 1.编译安装软件,优点是可以定制化安装目录.按需开启功能等,缺点是需要查找并实验出适合的编译参数,诸如MySQL之类的软件编译耗时过长. 2.yum安装软件,优点是全自动化 ...