游戏对象的使用

游戏对象是所有其他组件的容器。在游戏中的所有物体都是游戏对象。游戏对象被添加到游戏中时本身并不包含任何特性(特征,属性…)。当然,它们包含有已经被实现的控制组件。例如,一个灯光(Light)就是一个添加到游戏对象的组件。
游戏对象除了被当做各个组件的容器外,它还拥有Tag(标签),Layer(层)和Name(名称)属性。Tag(标签)用途在于使用标签名来快速寻找物体,层可以用于投射射线,渲染或者对特定的一组物体单独应用光照。标签和层可以通过Tag Manager(标签管理器)进行设置,此选项可以通过 Edit->Project Settings->Tags找到。

在Unity中,游戏对象有了一个新的选择框"Static",这个选项的用途在于:

  • 为自动烘焙准备静态的几何体
  • 计算遮挡剔除

许多优化需要知道游戏对象是否能运动,将一个游戏对象设置为静态,可以让编译器预先计算它的位置,因为知道它不会因物体位置的改变而失效。所以不能运动的对象都应该设置为静态。

Empty

Empty 游戏对象不会有任何显示,但却是最常用的游戏对象之一。如果你想使用脚本创建一个组件,你需要创建一个空的游戏对象然后使用gameObject.AddComponent(ClassName)方法(函数)。你不可以创建一个组件然后通过引用赋予物体。

Camera

  • Camera 组件(相机基本属性)
  • Flare layer (使用炫光镜头,处理物体炫光和雾化纹理)
  • GUI layer (渲染 遗留的 GUI 界面)
  • Audio Listener (挂载拾音器,接收场景中声音)

camera常用参数

  • Background: 背景颜色,可设为纯色或skybox。
  • Projection 投射,可选透视或者正交。透视的物体大小随距离改变,正交不会。
  • Culling Mask: 剔除遮罩。用于指定摄像机所作用的层(Layer)。
  • Field of View(FOV): 视野范围。只针对透视镜头,用于控制视角宽度与纵向角度。
  • Size: 视口大小。只针对正交镜头,设定为相当于屏幕高度的一半。
  • ClippingPlanes: 表示摄像机的作用范围。只显示距离为[Near, Far]之间的物体。
  • Viewport Rect: 控制摄像机呈现结果对应到屏幕上的位置以及大小。屏幕坐标系:左下角是(0, 0),右上角是(1, 1)。
  • Depth: 当多个摄像机同时存在时,这个参数决定了呈现的先后顺序,值越大越靠后呈现。

Lighting

光源是每一个场景的重要组成部分。决定了你的3D环境的颜色和氛围,你可以在每个场景中使用一个以上的光源。总的来说,Unity的光源分为两种,realtime(实时)和precomputed(预先计算的),可以组合使用。

  • Realtime lighting
    默认下, directional, spot 和 point LIghting 都是实时的,它们每帧都被更新。当光源和游戏对象移动时它们会实时改变。实时光源是照亮场景最基本的方法,对于点亮角色和其他几何物体非常有用。但是光线不会反射。
  • Baked lightmaps
    通过这种方式,Unity可以预先计算复杂的静态光源效果并把它们存起来。
  • Precomputed realtime global illumination
    通过这种方式可以让光源随着光照条件发生改变,可以实现光的反射和天气变化等效果。

Materials and Shaders

在Unity中材质与着色器之间有着密切的关系。着色器包含着定义了属性和资源使用种类的代码。材质允许你调整属性和分配资源。
要创建新材质,从主菜单或项目视图的环境菜单中,选择Assets->Create->Material来创建。一旦材质已经创建,你可以将它应用到一个对象并在检视视图中调整其所有属性。要将它应用到一个对象,只需将它从项目视图中拖到场景视图或层次视图的某个对象上。
Unity的每个标准安装包都有一个内置着色器的库。有超过30个内置着色器和六个基本族。

  • Normal
    标准:对于不透明纹理对象
  • Transparent
    透明:对于部分透明的对象。纹理的alpha通道定义透明度
  • TransparentCutOut
    透明剪影:对于拥有完全不透明和完全透明的区域的对象,比如栅栏
  • Self-Illuminated
    自身发光:对于有发光部件的对象
  • Reflective
    反射:对于能反射外界立方体贴图的不透明纹理对象(比如镜子,本身不透明,但其反映的是外界环境的贴图)

Terrain

Unity的地形系统允许我们给游戏添加广阔的表面,在运行时,地形系统为了为了渲染效率高度优化。在编辑器中,有一套工具可以让我们方便快速地创建地形。

可以通过Asset Store 下载各种游戏资源

Unity3d Note3相关推荐

  1. unity3d游戏开发猜想——当程序猿老去

    程序猿将代码注入生命去打造互联网的浪潮之巅.当有一天他们老了.会走向那里,会做些什么? 非常多年以后,在我60岁的那天早晨,天刚蒙蒙亮我就起床了,先去公园晨练,然后回来做早餐(50岁的时候我学会了做饭 ...

  2. Unity3D 中 2D_Toolkit插件下载 和 导入方法

    Unity3D 中 2D_Toolkit插件下载 和 导入方法 1.你把下载来的包放到 安装目录:Editor\Standard Packages里面. 2.然后按ctrl+9,进入asset sto ...

  3. Unity3D 镜面反射

    原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 QQ群:[119706192] 本文链接地址: Unity3D 镜面反射 这是官方CharacterCustomization事例中的镜面 ...

  4. [推荐]C#快速开发3d游戏工具--Unity3d

    最近有幸接触了一点Unity3d的东西,和大家分享一下. Unity3d 简介 是一款可视化的,3d游戏开发软件.可以进行手动绘制3d场景,自己添加摄像机角度,3d模型设计,事件触发,对于园子里大家很 ...

  5. unity3d 切换网络_Unity3d新网络请求方式UnityWebRequest详解

    Unity将要逐步放弃www网络请求api,新的api请求方式来临:UnityWebRequestThe,也正是本篇文章要给大家介绍的重点,那就是UnityWebRequestThe的使用详解. 旧的 ...

  6. Unity3D提示“XX,some are mac os x (unix) and some are windows”

    2019独角兽企业重金招聘Python工程师标准>>> 解决办法: 将Unity安装目录\Editor\Data\Resources\ScriptTemplates\目录下的所有文件 ...

  7. unity3d教程运行物理机制

    首先,我们将把Hooke定律写Euler方法结合在一起找到新坐标.加速和速度. Hooke定律是F=kx,这里的F是指由水流产生的力(记住,我们将把水体表面模拟为水流),k是指水流的常量.x则是位移. ...

  8. 【跟我一起学Unity3D】做一个2D的90坦克大战之AI系统

    对于AI,我的初始想法非常easy,首先他要能动,而且是在地图里面动. 懂得撞墙后转弯,然后懂得射击,其它的没有了,基于这个想法,我首先创建了一个MyTank类,用于管理玩家的坦克的活动,然后创建AI ...

  9. UNITY3D拓展编辑器 - 目录

    前文: 最近在自学UNITY3D拓展器,对以上功能点做一些认知范围内的总结. 目录: 1. 属性编辑器 http://weizeteng.blog.51cto.com/5604545/1774431 ...

最新文章

  1. 礼物——最牛午饭证!
  2. Webservices
  3. C++ void类型指针的使用
  4. javascript 的观察者模式的原理和集线器
  5. spring-security-oauth2实现OAuth2.0服务
  6. 如何应用Java的可变参数
  7. Android 事件处理
  8. 获取Spring容器管理的Bean工具类
  9. php 对象数组的使用方法,php数组与对象的操作方法
  10. 视频教程-OllyDbg(OD)使用教程-其他
  11. 最优化算法——常见优化算法分类及总结
  12. Maven私服nexus磁盘空间清理
  13. 超级节点的困境,社区治理的尴尬 |链捕手
  14. 产品经理面试必问5大问题 (六)
  15. Qt编写带频谱的音乐播放器
  16. 功能测试——抓包工具(fiddler)
  17. 代理记账会计企业家们提供的材料
  18. js找出两个数组中不同的元素
  19. Stata重复与去重
  20. 云联壹云融合云管理平台的 10 大应用场景

热门文章

  1. Kettle8.2查询组件之数据库连接
  2. 洗礼灵魂,修炼python(1)--python简介
  3. [4750g] 升级BIOS 禁用独显解决linux下发热问题
  4. python游戏之愤怒的小鸟(一)
  5. 打开html文件原理,为什么一个html文件在别人的电脑上显示这样的?
  6. 外贸进销存的数字化管理丨汇信
  7. CSS入门(css 基本教程)
  8. 联想Y450A-TFO-A刷新BIOS至17CN41WW
  9. Decorator(装饰器) 模式
  10. 设置 Putty 字体颜色并且永久保存