| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> Unity3D-刚体与触发器组件 -> 正文阅读 |
|
[游戏开发]Unity3D-刚体与触发器组件 |
Properties? Is Trigger? ?If enabled, this Collider is used for triggering events, and is ignored by the physics engine. Material? ?Reference to the Physics Material that determines how this Collider interacts with others. Center? ?The position of the Collider in the object's local space. Size? ?The size of the Collider in the X, Y, Z directions. ?碰撞器 碰撞体组件的作用 1.用一个包围盒(box,sphere, capsule)将一个模型包裹起来,该包围盒来秒速碰撞范围 2.配合刚体组件,实现物理碰撞效果 Collider组件 碰撞盒编辑? ?Edit Collider 是否设置为触发器 添加物理材质 碰撞体大小中心设置 Collider种类 Box Sphere Capsule Mesh 使用时减少顶点和面 ?绿色包围盒 编辑Collider碰撞体 ? 实际效果: ?游戏范例:空气墙的做法 ?Material: 物理材质、摩擦力和弹力 碰撞体由三角形组成 isTrigger? ? ? is the collider a trigger? Agular Drag拐弯时受到的阻力 Is Kinematic 受到施加的力,不会发生移动 Interpolate 插值,增加动画帧数 Collision detection Discrete/Continuous/Continuous Dynamic 刚体的一些参数 ? ?常用方法 AddForce(Vector3)? ?添加一个力 AddExplosionForce? ?添加爆炸力 参数列表:爆炸力大小Flost、 爆炸点Vector3、 爆炸半径Flost 注意:执行力添加爆炸力的方法,才能产生爆炸,不执行方法,即便距离爆炸点很近,也不会有任何爆炸效果 AddForcePosition? ?在一个点上添加一个力 AddRelativeForce? ?添加相对力 AddRelativeTorque? ?添加相对力矩 using UnityEngine; public class RigidbodyClass : MonoBehaviour { using UnityEngine; public class RigidbodyClass : MonoBehaviour { ?碰撞检测 碰撞产生的条件 两物体都有Collider 至少有一个带有RigidBody 两物体保持相对运动 回调方法 OnCollisionEnter(Collision other)? ?碰撞开始一瞬间时调用一次 OnCollisionStay(Collision other)? ?碰撞过程中相对运动时持续调用,每帧一次 OnCollisionExit(Collision other)? ?碰撞分离一瞬间调用 回调方法参数 collider? ?当前物体所碰撞到的游戏对象(游戏对象的碰撞体组件) contacts[]? ?所有碰撞点的信息(normal, point(碰撞点的坐标)) Vector3? contacts[0]表示第一个接触的点,其他依此类推 触发事件 触发事件产生的条件 两物体都有碰撞体 至少有一个带有刚体 两碰撞体至少有一个是触发器 设置触发器 将碰撞体组件中的isTrigger属性构选 回调函数 OnTriggerEnter(Collider other)? ?进入触发器的时候调用一次 OnTriggerStay(Collider other)? ?处于某个触发器之中的时候持续调用,每帧一次 OnTriggerExit(Collider other)? ?退出触发器的时候调用一次 范例代码 using UnityEngine; public class CollisionClass : MonoBehaviour { 碰撞点的位置 可以选择点的形状及颜色 范例代码 using UnityEngine; public class CollisionPosition : MonoBehaviour { mesh renderer即使隐藏亦可触发碰撞器? 碰撞体和触发器二者只可选择其一,由isTrigger控制 摄像机图标隐藏 using UnityEngine; public class cubeTrigger : MonoBehaviour { ? ? ? ? ? ? ? ?
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/28 2:47:04- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |