从零开始的Unity学习 刚体与碰撞 day02

按键

Input

【静态方法】

Input.GetKey(KeyCode.按键);

Input.GetKeyDown(KeyCode.按键);

Input.GetKeyUp(KeyCode.按键);

Input.GetMouseButton() 按住鼠标

Input.GetMouseButtonDown() 按住鼠标

Input.GetMouseButtonUp() 按住鼠标

左0 右1 中2

虚拟按键 Edit -- > ProjectSetting -- > Input

【详细设置】

1.虚拟按键名称

2.描述名称 + -

3.对应按键 + -

4.备用按键 + -

5.抬起按键,值恢复为 0 的时间

6.小于此值,记为 0 (用于遥感)

7.按下按键,值达到 +1 或 -1的时间

8.同时按下正负键值为 0

9.+ - 反转

虚拟按键 Input.GetAxis("虚拟按键")

Horizontal 水平轴

Vertical 竖直轴

虚拟按键 Input.GetButton("虚拟按键")

自定义虚拟按键

Mouse X (相对)

鼠标向左为 负

向右为 正

Mouse Y (相对)

鼠标向上为 负

向下为 正

预设体 .prefab

【预设体 .prefab】 ----- 一种以文件形式存在的游戏对象

        从游戏对象面板托到Project面板中

        图标变为蓝色

【消失预设体】

        生成对象销毁,不去操作预设体

【生成预设体】 生成对象名称 + Clone

        Object.Instantiate(Object,Position,Quaternion.identity)

【销毁对象】

        Destroy(GameObject , Time);

        Select :选择

        Revent :重置

        Apply :应用

注意:只能拖文件到Prefab中,不能拖游戏场景中的游戏对象

碰撞

检测盒子

        Box Collider

        Physic Material -- 物理材质

        Mesh Collider 网格碰撞器

【触发器】 Collision中勾选Is Trigger 主用于检测、

【条件】 1.两个物体都有碰撞体

                2.至少一个带有刚体

                3.至少一个是触发器

【回调函数】

        OnTriggerEnter(Collider other); 触发开始一瞬间调用一次

        OnTriggerStay(Collider other); 触发时调用

        OnTriggerExit(Collider other); 触发离开一瞬间调用一次

刚体 Rigidbody 组件

【面板属性】

        Mass:质量

        Drag:阻力

        Angular Drag:角阻力

        Use Gravity : 是否使用重力

        Is Kinematic:是否关闭动力学

        Interpolate :插值可以平滑消除固定帧率运行物理导致的现象

        Collision Detection : 碰撞检测

        Discrete :离散,检测次数比较少

        Continuous:连续,检测次数增多

        Continuous Dynamic:动态连续,对快速的物体连续,对慢的物体离散

        Constraints:约束

        Freeze Position x y z

        Freeze Rotation(欧拉角) x y z

        方法

        【速度】

                rig.velocity 获取速度

                rig.velocity = Vector3.up * 5 获取向上5m/s的瞬时速度

        【力】

                rig.AddForce(Vector3) 添加一瞬间的力

        【爆炸力】

                rig.AddExplosionFore(爆炸力,爆炸位置,爆炸半径);

        检测碰撞

        【碰撞产生的条件】

                1.两个物体都有Collider

                2.至少有一个带有Rigidbody

        【回调函数】

                OncollisionEnter(Collision other) 碰撞开始一瞬间调用一次

                OnCollisionStay(Collision other) 碰撞过程中相对运动时,每帧调用一次

                OnCollisionExit(Collision other) 碰撞分离一瞬间调用

        【Collision other】

                other.collider.GetComponent<组件>(). ......

                other.contacts[ ] 所有碰撞点的信息

                        1.normal

                        2.point(碰撞点坐标) Vector3

                        3.........

Tips

        虚拟按键上面的控制按键,下面的控制摇杆,不必纠结

        【导出 -- > 发布】

                File --> Bulid Settings -->Add Open Scenes -->Bulid

        【隐藏public字段】

                HideInInspector : 特性,可隐藏

        【随机数】

                Random.Range(int,int/float,float);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值