当前位置: 首页 > article >正文

unity基础(2)——3D对象基础概念与简单操作

内容参考Unity官方基础教程
操作系统:Win10
Unity版本:2019.4

在Unity Hub创建项目时选择3D模板。

初始界面

默认3D场景中只有一个相机和太阳,Hierarchy窗口也只有对应的两个GameObject。
在这里插入图片描述

  • Main Camera:控制游戏视图时的视野;在Hierarchy窗口选中后,快捷键Ctrl+Shift+F可以自动调整位置,使主摄像机的视野能够看到整个场景。
  • Directional Light(定向光):模拟太阳,产生遇到GameObject会反射的光线。定向光可以视为从很远的地方射过来的光线,所以更改其位置不会对场景产生影响,但可以通过更改照射角度来更改场景中的光线角度。更多光的类型可以查阅Unity手册

创建简单3D对象

在Hierarchy窗口单击鼠标右键,选择3D Object,然后可以选择多种基本对象(primitives)。
在这里插入图片描述
这里选择Cube,这时Hierarchy窗口和场景视图中会出现该GameObject。
在这里插入图片描述
在这里插入图片描述
选中这个Cube,Inspector窗口会显示对应的属性。
在这里插入图片描述
Inspector窗口中显示的每个部分都代表一个component(组件),表示所选GameObject的一组属性或行为。

注意:Unity中Y轴是垂直轴,X轴和Z轴表示水平面。

  • 可以修改GameObject的名字:
    在这里插入图片描述
  • 可以修改GameObject的形状:尝试将Transform组件中Scale的Y改为2,会发现Cube的高度变成了2。
    在这里插入图片描述
    ​ 所以Cube可以根据需要变换为各种形状的长方体。

在Hierarchy窗口中组织GameObjects

创建子对象

当我们想在Cube下创建一个子对象,可以在Hierarchy窗口的Cube上单击鼠标右键,这里选择一个Sphere。
在这里插入图片描述
Hierarchy窗口下图所示:
在这里插入图片描述
此时我们会发现场景视图中看不到Sphere,这是因为子对象的位置和尺寸由父对象决定,初始时子对象在父对象内部。
在Hierarchy窗口选择Sphere,使用Move Tool在场景视图中移动Sphere,结果如下图:
在这里插入图片描述
移动和缩放Cube时,Sphere会随着Cube移动和缩放。
可以在Hierarchy窗口拖动Sphere来删除父子关系或添加新的父子关系。
在这里插入图片描述

创建空对象

在这里插入图片描述
空对象没有可见的表现形式,但它可以作为占位符或同一类GameObjects的容器。
在这里插入图片描述

  • 空对象可以起到注释说明的作用,如下图:
    在这里插入图片描述
    ​ “=Player=”和“=House=”是两个空对象,说明了Sphere和Player相关,Cube和House相关。
  • 空对象也可以作为其他GameObjects的容器,可以让其他GameObject成为它的子对象。因为子对象的坐标是相对于父对象的,为了不让空对象影响其子对象的位置,我们要先重置空对象的位置。
    选择该空对象,在对应的Inspector窗口的Transform组件中,选择该组件右侧的三个小点按钮,然后选择Reset Position,就可以让空对象的位置坐标重置为(0, 0, 0):
    在这里插入图片描述

复制对象

选中需要复制的对象,单击鼠标右键,选择Duplicate即可复制对象(快捷键Ctrl+D)

添加Rigidbody组件

GameObject默认没有质量,也不会响应重力,但可以通过添加RigidBody(刚体) Component来赋予GameObject物理属性。
操作步骤:

  • 在Hierarchy窗口选中想要赋予物理属性的GameObject
  • 在对应的Inspector窗口选择下方的Add Component按钮
    在这里插入图片描述
  • 在搜索框中搜索Rigidbody,因为是3D对象,所以不选择Rigidbody 2D
    在这里插入图片描述
  • Inspector窗口会出现Rigidbody组件,勾选Use Gravity即可让GameObject响应重力
    在这里插入图片描述
  • 此时点击播放按钮,就会发现空中的GameObject会下落了

自定义GameObject表面材料(Material)

Unity自带的3D对象没有可视的属性。但我们可以用图片制作材料,材料可以改变GameObject的可视表面,光线也会在表面反射,而且可以让GameObject的表面能够添加物理属性。

可视材料

外观材料可以改变GameObject的可视表面
步骤:

  • 准备好想要用的图片
    在这里插入图片描述

  • 在Project窗口,鼠标右键单击Assets文件夹,选择Create>Material
    在这里插入图片描述

  • Assets文件夹会出现一个Material,形状是3D sphere(球),可以重命名为想要的名字,这里命名为BrickMaterial。
    在这里插入图片描述

  • 将选择的图片放入Assets文件夹。可以直接将图片拖到Project窗口的Assets文件夹,也可以打开文件资源管理器中的Assets文件夹,将图片复制进去。如下图打开文件资源管理器:
    在这里插入图片描述

  • 放入图片后,Assets文件如下图所示:
    在这里插入图片描述

  • 选择BrickMaterial,点击Inspector窗口>Main Maps>Albedo左边的小圆圈(下图红线处)
    在这里插入图片描述
    点击后会弹出一个窗口:
    在这里插入图片描述
    双击选择添加的图片。此时BrickMaterial的表面会变成覆盖图片的样子:
    在这里插入图片描述

  • 此时将BrickMaterial拖到场景视图中的Cube上,可以看到外观的变化:
    在这里插入图片描述

  • 如果想要改变材料的比例,则选中GameObject,展开Inspector窗口中的BrickMaterial窗口,改变Tiling X、Y属性。值越小,GameObject看起来越大。
    在这里插入图片描述

物理材料

物理材料使GameObject可以反弹,而且可以改变其friction(摩擦)和drag(拖动)属性(只有使用重力的时候才能生效),物理材料不会改变GameObject的可视表面。
步骤:

  • 在Project窗口,鼠标右键单击Assets文件夹,选择Create>Physic Material
    在这里插入图片描述
  • Assets文件夹会出现一个Physic Material,可以重命名为想要的名字,这里命名为BouncyBall。
    在这里插入图片描述
  • 选中BouncyBall,在Inspector窗口将Bounciness的值改为1,,让该材料有反弹属性
    在这里插入图片描述
  • 选择一个GameObject,这里继续选择上一小节中的Cube,先为其添加Rigidbody组件,使其有重力属性,然后将BouncyBall拖到Cube的Box Collider组件(该组件Cube初始就有)中的Material插槽中
    在这里插入图片描述
  • 此时Cube碰到其他Object就会反弹(运行后才能看到效果)
http://www.lryc.cn/news/2415097.html

相关文章:

  • 发现数学之美--微积分的起源和用途(一文搞懂微积分)
  • QEMU简介
  • 基于微信PC端小程序抓包方法
  • Hex文件解析
  • 超详细一文到底!软件测试基本流程
  • 富文本编辑器汇总
  • 一篇了解使用springSecurity
  • jar包的概念及作用(二)运行jar包、查看jar包内容
  • 推荐开源项目:NSFW Filter — 图片安全性智能检测库
  • 【机器学习】SGD,SGDM,NAG,Adagard,AdaDelta,RMSpro,Adam原理
  • 【Python/绘图】python绘图
  • [计算机效率] 文件搜索工具:Listary(附详细使用教程)
  • IO的详细介绍
  • CPP/C++学习笔记01
  • Evaluation中Percision和Recall的理解
  • Animation 开源项目教程
  • SonarQube代码质量检查平台
  • 深入理解异或运算 xor 的含义——再探不使用加减乘除实现加法运算、不使用额外空间交换两个变量的值
  • 面试官灵魂三问:什么是SOA?什么是微服务?SOA和微服务有什么区别?
  • Dev-C++/Cpp使用入门详解
  • Angular简介(大神可略过)
  • Linux shell编程学习笔记69: curl 命令行网络数据传输工具 选项数量雷人(中)...
  • gateWay网关组件及工作原理
  • 一次性搞定!思源字体安装、使用及常见问题解答
  • WEBGL原理
  • Java中Synchronized的用法
  • jav常用类-时间处理相关类
  • Homebrew你了解吗?
  • MinGW下载和安装以及环境配置详细步骤
  • 一(一)、keil常见问题和解决方法常用操作