分类: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. Excel Vlookup 列查找函数

    列查找函数语法:vlookup(lookup_value,table_array,col_index_num,[range_lookup]) lookup_value:要查找的值,数值.引用或文本字符 ...

  2. JavaScript的NaN-唯一 一个自己不等于自己的对象!!

    JavaScript的NaN为什么不等于NaN 在JS中 Object === Object 感觉没有任何问题 这两个都代表的一个东西 但是如果你试过 NaN === NaN 是返回false为什么呢 ...

  3. oracle 11g空表导不出问题

    查询空表 ' 生成分配空间的执行语句 or num_rows is null 复制出来执行即可.

  4. ios中tableview网封装(viewcontroller封装)常用的

    下载地址 http://pan.baidu.com/share/link?shareid=3657500168&uk=923776187 使用框架 1:asIHttpRequest库 2;SB ...

  5. 客户端调用rcf库 时,返回值千万不要用auto

    std::vector<std::wstring> list = Client.xxxx(); 千万不要写成 auto  list = Client.xxxx();

  6. linux线程学习

    按照书上写的,不知道为什么有问题: //已解决,参考最新的blog,哈哈 #include <stdlib.h> #include <pthread.h> #include & ...

  7. java小程序,用java在指定目录或以及子目录中找出同名文件,java File过滤文件名后找同名文件

    主要是使用java API“java.io.File”实现 一个简单的类,copy出来,因main方法可直接运行. package com.paic.icore.pams.auto.util; imp ...

  8. HTML 5 应用程序缓存(Application Cache)cache manifest 文件使用 html5 中创建manifest缓存以及更新方法 一个manifest文件会创建一份缓存,不同的manifest文件其缓存的内容是互不干扰的

    HTML5 离线缓存-manifest简介 HTML 5 应用程序缓存 使用 HTML5,通过创建 cache manifest 文件,可以轻松地创建 web 应用的离线版本. 什么是应用程序缓存(A ...

  9. mosquitto 配置文件解说

    #配置文件为mosquitto #参见mosquitto.conf(5)了解更多信息. #显示默认值,取消注释以更改. #使用#字符来表示注释,但只有当它是 #第一个字符就行了. #========= ...

  10. 【转】Markdown 的一些问题

    Markdown 的一些问题 把我之前的博文基本上转换成了 markdown 格式.我发现 markdown 虽然在编辑器里看起来比 HTML 清晰一些,但也有一些不足. 这些 markup 语言的格 ...