IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> Unity笔记一 -> 正文阅读

[游戏开发]Unity笔记一

变换组件移动物体

  • gameObject.getComponent<T>() : 获取相应组件的引用,查找当前游戏物体上的某个组件,保存它的引用。
  • Transform.Translate(Vector3, Space): 移动物体的位置。 游戏物体往某个方向移动;以自身坐标系或世界坐标系。
    • Vector3[struct]:三维向量。 向量,可以表示一个方向,也可以表示一个位置。
    • Space[enum]:空间。
    • Space.Self:表示物体自身的坐标系。
    • Space.World:表示物体所在的世界坐标系。

脚本是游戏物体的一部分,一般控制谁的脚本就挂载在谁的身上。

使用 Transform.Translate()方法移动物体的位置,
特点如下:

  1. 移动的物体会“穿透”场景中其他的物体模型;
  2. 移动的物体不会受重力影响(到达场景边缘外,不会下落)。

刚体组件

刚体:Rigidbody,属于物理类组件。
作用:添加了刚体组件的游戏物体,就有了重力,就会做自由落体运动。也就意 味着可以像现实中的物体一样运动。

  1. Mass[质量] 设置物体的质量,也就是重量。质量单位是 KG。
  2. Drag[阻力] 空气阻力,0 表示无阻力,值很大时物体会停止运动。
  3. Angular Drag[角阻力] 受到扭曲力时的空气阻力,0 表示无阻力,值很大时物体会停止运动。
  4. Use Gravity[使用重力] 是否使用重力。

使用刚体移动物体:
Rigidbody.MovePosition(Vector3):使用刚体移动物体的位置。 使用刚体移动物体,物体是根据世界坐标系的方向移动的。 使用刚体移动物体,物体会触发物理相关的事件。

MovePosition 中的 Vector3 要使用“当前位置”+ 方向 的方式。 Transform.Position:属性 当前物体的位置。

使用刚体移动物体,
特点如下:

  1. 会于场景中的模型物体发生碰撞;
  2. 会受重力影响(到达场景边缘外,会下落)。

常用方法:

  • AddForce() : 给刚体添加一个力,让刚体按“世界坐标系”进行运动。

    Rigidbody.AddForce(Vector3,ForceMode)// Vector3:力的方向和大小; 
    // ForceMode:力的模式[enum 类型]。
    

    ForceMode 参数: 类型为枚举类型,以什么样的方式添加力给刚体。

    • Acceleration:[?k?sel??re??n](加速度);
    • Force:(力)这种模式通常用于设置真实的物理;
    • Impulse:(冲击力)这种模式通常用于瞬间发生的力;
    • VelocityChange:(速度的变化);
  • AddRelativeForce() : 给刚体添加一个力,让刚体按“自身坐标系”进行运动。

    Rigidbody.AddRelativeForce(Vector3,ForceMode)// Vector3:力的方向和大小; 
    // ForceMode:力的模式[enum 类型]。
    
  • FixedUpdate(): 固定更新方法。
    所有和物理相关的操作,代码都要写在 FixedUpdate()方法体内。
    固定更新的时间间隔是 0.02 秒,1 秒执行 50 次。
    Edit-->Project Settings-->Time面板中的 Fixed Timestep参数设置。

    Update()方法是每帧执行一次。 画面每渲染完一次,就是一帧,每帧的时间是不固定的。
    Update()方法中执行物理操作,会出现卡顿的情况。

碰撞体

使用刚体移动的物体,与场景中其他的物体相碰撞: 其实是碰撞的目标物体的“碰撞体”组件,也就是 Collider。 另外和目标物体碰撞的,是我们移动的物体的自身的“碰撞体”组件。 碰撞体可以理解为我们的模型的“外骨骼”。 模型只要加了刚体,就必须要加碰撞体,否则没有意义。

碰撞事件监测方法:

  • OnCollisionEnter(Collision): 当碰撞开始时调用,只会调用该方法一次。
  • OnCollisionExit(Collision): 当碰撞结束时调用,只会调用该方法一次。
  • OnCollisionStay(Collision): 当碰撞进行中时,会持续调用该方法。

Collision 参数 :
碰撞,一个类。
作用:用于传递碰撞信息。
Collision.gameObject 属性,与当前物体碰撞的物体的引用。 gameObject.name 属性,当前物体的名字。

触发事件

触发器:
将碰撞体组件属性面板上的“Is Trigger”选项选中,当前的游戏物体的碰撞体 就变成了触发器。
移动的刚体物体会穿透碰撞体勾选了“Is Trigger”的物体。

触发事件:
当一个用刚体控制的物体进入到另外一个物体的触发器范围内,就是触发事件。
触发用途:不与目标物体发生直接的碰撞(接触),而是只要进入目标物体的“触 发范围”就能执行某些特定操作。

触发事件监测方法:

  • OnTriggerEnter(Collider): 当进入触发范围时开始时调用,只会调用该方法一次。
  • OnTriggerExit(Collider): 当离开触发范围时开始调用,只会调用该方法一次。
  • Collider参数:
    碰撞体,一个类。
    作用:用于传递触发信息。
    Collider.gameObject属性,进入触发范围内的目标物体的引用。
    gameObject.name属性,当前物体的名字。

网格过滤器组件

网格过滤器:Mesh Filter
该组件只有一个“Mesh”属性,用于设置当前游戏物体使用哪个模型进行展示。
Mesh:网格,也就是模型。

网格渲染器组件

网格渲染器:Mesh Renderer
该组件用于“渲染”显示模型。如果没有该组件,模型就不会显示。

属性 :

  • Cast Shadows[投射阴影]
    On:开启阴影显示
    Off:关闭阴影显示
  • Receive Shadows [接收阴影]
    选中就是接收 不选中就是不接收
  • Materials [材质球]
    用于设置用哪个材质球渲染当前的模型(Mesh)。
    我们拖拽到游戏物体身上的材质球,其实就是赋予给了这个组件的这个属性上。

Tag

Tag 标签,就是一个标签。标签可以起到标识,区分的作用。
同一类的模型,我们可以根据需要给他们设置成统一的标签。

GameObject.FindGameObjectsWithTag(string):[静态方法] 通过特定的标签,查找到所有“贴有”该标签的游戏物体,返回一个数组。
String:标签名

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-12-14 16:17:43  更:2021-12-14 16:18:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 21:05:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码