上海SEO网站优化推广公司,网站关键词快速排名技术,学会建设网站必要性,安徽网站建设怎么样目录
1 触发的实现条件
1.1 碰撞的的实现条件
1.2 触发的实现条件
1.3 触发器trigger#xff0c;直接拿 碰撞器collider修改下配置即可
2 触发器相关实验#xff1a;触发开门效果
2.0 目标
2.1 player物体的属性
2.2 新建一个trigger 物体
2.3 新建一个被trigger 控…目录
1 触发的实现条件
1.1 碰撞的的实现条件
1.2 触发的实现条件
1.3 触发器trigger直接拿 碰撞器collider修改下配置即可
2 触发器相关实验触发开门效果
2.0 目标
2.1 player物体的属性
2.2 新建一个trigger 物体
2.3 新建一个被trigger 控制的物体
2.4 TestTrigger.cs脚本相关
2.4.1 对应的trigger 函数
2.4.2 找到对应gameObject
2.4.3 设置gameObject的激活
2.4.4 具体代码
2.5 测试效果
3 额外的控制角色的翻转
4 勾选mesh render 可以控制物体的渲染 /隐身
5 有 collider没有rigidboby的差别
5.1 如果只有 collider没有rigidboby
5.2 如果只有 collider没有rigidboby
6 开门的铰链: hinge joint
6.1 hinge joint 设置
6.2 上下旋转的门设置
6.3 左右旋转的门
6.4 旋转门的测试效果
6.5 自动门
7 弹簧 spring joint
7.1 准备工作
7.1.1 新建2个 cube
7.1.2 修改2个cube为 rigidbody
7.1.3 新增一个component为 spring Joint
7.1.4 把上面的刚体设置为 is kinematic
8 固定关联 fixed joint 像胶水一样的效果
8.1 可以设定破坏的力的大小
9 物体的物理材质New Physic Material摩擦力和弹力
9.1 可能影响滑动的因素
9.2 新增一个New Physic Material
9.3 修改Physic Material属性
9.5 测试准备
9.6 注意材质影响的参数 1 触发的实现条件
1.1 碰撞的的实现条件
2个物体都有collider且其中1个物体上有rigidbody 1.2 触发的实现条件
2个物体都有collider且其中1个collider修改为trigger (额外修改条件)且其中1个物体上有rigidbody 1.3 触发器trigger直接拿 碰撞器collider修改下配置即可
触发器直接拿 碰撞器collider修改下配置即可碰撞器collider修改为触发器后将不触发碰撞只会引发触发器 2 触发器相关实验触发开门效果
2.0 目标
目标实现效果控制player 走到trigger的范围触发wall的消失 下面是各种准备工作
先把之前的地面扩大或者新建一个地面
2.1 player物体的属性
必须有collider设置为rigidbody可以移动参考之前的移动脚本 2.2 新建一个trigger 物体
设置其collider为 trigger挂载一个 实现trgger效果的脚本我这里是TestTrigger.cs 2.3 新建一个被trigger 控制的物体
也需要有collider可以阻挡 player角色的通过gameObject名字为“wall” 2.4 TestTrigger.cs脚本相关
目标实现效果控制player 走到trigger的范围触发wall的消失 2.4.1 对应的trigger 函数 private void OnTriggerEnter(Collider other){}private void OnTriggerStay(Collider other){}private void OnTriggerExit(Collider other){} 2.4.2 找到对应gameObject
GameObject wall1GameObject.Find(wall)if(wall1 ! null) 2.4.3 设置gameObject的激活 wall1.SetActive(false) 2.4.4 具体代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class TestTrigger : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){}// Update is called once per framevoid Update(){}private void OnTriggerEnter(Collider other){GameObject wall1GameObject.Find(wall);if(wall1 ! null){wall1.SetActive(false);}}private void OnTriggerStay(Collider other){}private void OnTriggerExit(Collider other){}}2.5 测试效果
wall阻挡 player过去 player 走到trigger 触发wall的消失 wall消失后player可以随便移动到对面 3 额外的控制角色的翻转
如果我这个用的不是球是比较高的capsule 或者 长高立方体走到地图边缘会翻转掉下去但是控制这个可以不翻转 4 勾选mesh render 可以控制物体的渲染 /隐身
勾选mesh render 可以控制物体的渲染 /隐身 5 有 collider没有rigidboby的差别
5.1 如果只有 collider没有rigidboby
直接挡住不会被撞倒 5.2 如果只有 collider没有rigidboby
挡住门本身也会被撞倒 6 开门的铰链: hinge joint
不同的开门效果轴不同可以设置 轴在不同的方向 6.1 hinge joint 设置
锚点
把门看成一个长方体那么X,Y,Z 这3个坐标分别表示 铰链在轴的百分比位置而坐标中心在立方体的中心所以上下的轴就是Y0.5或者 -0.5 这样就在最上面或者最下面所以左右的轴就是x0.5或者 -0.5 这样就在最左边或者最右边
轴
轴门沿着什么轴旋转比如上下旋转的门就是沿着X轴旋转比如左右旋转的门就是沿着Y轴旋转比如像水车那样旋转的门就是沿着Z轴旋转 6.2 上下旋转的门设置
锚点轴 6.3 左右旋转的门
锚点轴 6.4 旋转门的测试效果
有点问题门可能太厚了转不动有时候门从正面撞不开 6.5 自动门
勾选 use Motor下面选择速度和力度就可以自动了target velocity force 7 弹簧 spring joint
7.1 准备工作 7.1.1 新建2个 cube
只是默认带 collider只是起到阻挡效果但是没有物理效果 7.1.2 修改2个cube为 rigidbody
默认带 collider且加上了rigidbody现在上面的cube会自动受重力掉下来 7.1.3 新增一个component为 spring Joint
新增一个component为 spring Joint并且把box1拖到里面关联上要求必须是刚体这样2个物体就中间有了弹簧效果 7.1.4 把上面的刚体设置为 is kinematic
这样上面的物体不掉下来而且下面的被弹簧牵引着 8 固定关联 fixed joint 像胶水一样的效果
去掉srping joint新增一个 fixed joint然后把box1 关联上现在就像强力胶水的效果了 8.1 可以设定破坏的力的大小 9 物体的物理材质New Physic Material摩擦力和弹力
9.1 可能影响滑动的因素
倾斜角度会有物理效果不同的摩擦力地面和物体都有摩擦力弹力想象是橡皮球 9.2 新增一个New Physic Material
新增一个New Physic Material拖入到地面的 material 9.3 修改Physic Material属性
static fiction : 超过静态摩擦力后开始移动就会转向使用动态摩擦力dynamic fiction : 9.5 测试准备
新加斜面新加斜面贴面的立方体斜面增加一个 Physic Material 然后调整属性可以测试摩擦力大小斜面移动的效果不同 9.6 注意材质影响的参数 static fiction : 超过静态摩擦力后开始移动就会转向使用动态摩擦力dynamic fiction :bounciness 弹力fiction combine 取2个相互摩擦物体的摩擦力的平均值还是其他