分类: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. 【AIX】用户、组合安全管理

    用户介绍 用户的概述 比如:我们在使用AIX系统的时候,同事需要使用我的计算机,但是我不想让他用我的用户登录,我的用户存在一些特殊信息,只能自己查看,此时就可以建立一个普通用户给他使用即可. 1.单用 ...

  2. adb shell dumpsys的使用

    该命令用于打印出当前系统信息,默认打印出设备中所有service的信息,可以在命令后面加指定的service name. 有两种方法可以查看service list: 1. adb shell dum ...

  3. 《Java设计模式》之模板方法模式

    模板方法模式是类的行为模式.准备一个抽象类.将部分逻辑以详细方法以及详细构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑.不同的子类能够以不同的方式实现这些抽象方法,从而对剩余的逻辑有 ...

  4. iOS UILabel设置行间距和字间距

    实现UILabel的文字,设置行间距和字间距. 效果图: 代码: let lblTitle = UILabel(frame: CGRect(x: , y: , width: KScreenWidth- ...

  5. C++的iostream标准库介绍+使用详解(转)

    0 为什么需要iostream 我们从一开始就一直在利用C++的输入输出在做着各种练习,输入输出是由iostream库提供的,所以讨论此标准库是有必要的,它与C语言的 stdio库不同,它从一开始就是 ...

  6. magento 得到树形结构的分类列表

    <?php ?> <?php   class Lehui_AllCategoryList_Block_List extends Mage_Core_Block_Template { ...

  7. 关于tensorboard启动问题

    我在学习过程中遇到了tensorboard无法启动的问题. 按照网上的教程,我无法正常启动tensorboard,全过程没有报错,但是打开tensorboard显示 No dashboards are ...

  8. linux服务器rz命令上传文件

    1.首先,要是服务器不支持rz命令的话,需要安装执行 yum -y install lrzsz  2.再输入rz -be命令,选择需要上传的本地文件 

  9. oracle三大范式(转载)

    标准化表示从你的数据存储中移去数据冗余 (redundancy)的过程.如果数据库设计达到了完全的标准化,则把所有的表通过关键字连接在一起时,不会出现任何数据的复本 (repetition).标准化的 ...

  10. Html中 <tr> 标签的隐藏与显示

    TR标签的隐藏与显示:block(显示)和none(隐藏) <tr  style="display:none"> <tr id="sample" ...