分类: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. java与C#、.NET AES加密、解密 解决方案

      1.情景展示 Java提供的密钥,C#无法解密. 2.原因分析 在Java中,AES的实际密钥需要用到KeyGenerator 和 SecureRandom,但是C#和.NET 里面没有这2个类, ...

  2. 【物联网智能网关-17】.NET Micro Framework之MDK C++二次开发

    .NET Micro Framework虽然好学易用,但是在一些需要实时,需要高性能的应用领域,却有些勉为其难.毕竟.NET Micro Framework上层应用程序由底层CLR(TinyCLR)解 ...

  3. mysql计算时间差值,单位分钟数

    TIMESTAMPDIFF(MINUTE, 开始时间, 结束时间) as 时间差(单位:分钟数) TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr ...

  4. Arduino——My-Clock项目 发布时间:2018-12-31

    技术:Arduino.光敏传感器.DHT11.DS1302.OLED显示屏   概述 项目My-Clock是一个环境监测时钟,接入光敏传感器和温湿度传感器监测环境信息,加入DS1302模块用于获取时间 ...

  5. iOS中判断网络是否联网

    #import "AppDelegate.h" #import "ViewController.h" #import "Reachability.h& ...

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

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

  7. 聚集函数查询结果为空, list的size是1, resolve

    resultList.removeAll(Collections.singleton(null));

  8. linux shell 脚本攻略学习2

    1.关于文件描述符和重定向: 文件描述符是与一个打开的文件或数据流相关联的整数.文件描述符0.1以及2是系统预留的. 0——stdin(标准输入) 1——stdout(标准输出) 2——stderr( ...

  9. java 获取当前日期和特殊日期格式转换

     1.获取当前日期: package com.infomorrow.dao; import java.sql.Timestamp; import java.util.Calendar; import ...

  10. 蛋疼的经历--wireshark不能启动的问题

    事情是这样子的,最近新入职,安装了wireshark,,,在急需要其观察数据包结构,,,,写代码时,,,,卡了,,,我的天!!! 刚开始是提示说,找不到动态链接库api-ms-win-crt-runt ...