Unity日记18(刚体、获取碰撞物的信息、铰链、弹簧) 您所在的位置:网站首页 3dmax刚体碰撞在哪 Unity日记18(刚体、获取碰撞物的信息、铰链、弹簧)

Unity日记18(刚体、获取碰撞物的信息、铰链、弹簧)

2023-08-26 22:08| 来源: 网络整理| 查看: 265

目录

刚体

刚体

重力

isKinematic

碰撞检测

变换限制

​编辑

碰撞

 获取到碰撞物的实体,输出它的某个信息。

 碰撞和触发器的区别

铰链

锚点和轴

弹簧组件

固定关节组件

定制摩擦力面

刚体 刚体

添加了好像不能禁用。

重力

重力,顾名思义。

禁用重力,不受重力影响。当有物体撞击,猜测会向撞击方向飞去。

isKinematic

        如果启用了 isKinematic,则力、碰撞或关节将不再影响刚体。 刚体将由动画或脚本通过更改 transform.position 进行完全控制。 运动刚体也会通过碰撞或关节影响其他刚体的运动。 例如,可以将运动刚体连接到一个具有关节的普通刚体上, 则该普通刚体将受到运动刚体运动的约束。 对于制作通常由动画驱动,但在特定情况下,可以通过将 isKinematic 设置为 false 来快速转变为布娃娃的角色, 运动刚体也极其有用。

测试:一个带刚体组件(禁用动力学)的物体去撞击另一个带刚体组件(开启动力学)的物体。

结果:“不开”的撞不动“开的”。

再测试:相反用“开的”去撞“不开的”,能撞动。 

 

碰撞检测

离散

持续:推荐“地面”等使用

连续动态:推荐“子弹”等使用

变换限制

锁xyz的位置、锁xyz轴的旋转。

碰撞

要两个物体都有碰撞组件才能发生碰撞;

实例:火星受重力下落,然后碰撞地面发生爆炸

火星有重力、碰撞组件;

地面有碰撞组件

using System.Collections; using System.Collections.Generic; using UnityEngine; public class Boom_script : MonoBehaviour { public GameObject prefab;//后续操作预设体 // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { } //监听发生碰撞 private void OnCollisionEnter(Collision collision) { Instantiate(prefab, transform.position, Quaternion.identity); Destroy(gameObject); } //持续碰撞 private void OnCollisionStay(Collision collision) { } //结束碰撞 private void OnCollisionExit(Collision collision) { } }

生成和销毁语句

        Instantiate(Gameobject,位置,四元数旋转);         Destroy(GameObject);

 

 获取到碰撞物的实体,输出它的某个信息。 private void OnCollisionEnter(Collision collision) { Instantiate(prefab, transform.position, Quaternion.identity); Destroy(gameObject); Debug.Log(collision.gameObject.name); string name= collision.gameObject.name; GetObj = GameObject.Find(name); Debug.Log(GetObj.layer); }

第一个参数是碰到的物体的名字

第二个参数是碰到的物体的层名字(数字是层序号)

 

 碰撞和触发器的区别

1.物理特性。触发器是检测区域、结界、视野,不受物理特性影响。碰撞能返回碰撞的位置,受物理特性影响。

2.物理材质。有些物理材质在碰撞上会异常,但触发器不会出现异常(因为位置)。

3.函数名和返回参数不同。

4.实例。士兵拿剑去砍击,要剑碰到敌人才有伤害,属于碰撞。

铰链

铰链必须带刚体。

锚点和轴

调整旋转的位置和旋转轴 

旋转位置(achor),长宽高都是1。起始点是(0,0,0)。

旋转轴(axis),看是绕着哪个轴旋转。(0,1,0)绕着Y轴。

旋转速度

弹簧组件

示例:上面方块固定,下面方块通过弹簧连接上面方块。开始后方块因重力掉下,之后一弹一弹,最后静止。

上方块:添加刚体(启用动力学);添加弹簧组件(spring joint),连接体添加为下方块。

下方块:添加刚体(启用重力)。

 

固定关节组件

在负责拉人的对象上用,将拉的人添加到连接体上。

定制摩擦力面

 

动态摩擦力

静态摩擦力

弹力 

 

        摩擦力是防止表面相互滑落的量。尝试堆叠对象时,此值很重要。摩擦力有两种形式:动态和静态。对象静止时使用__静态摩擦力。静态摩擦力会阻止对象开始移动。如果向对象施加足够大的力,对象将开始移动。随后,__动态摩擦力__将发挥作用。动态摩擦力__现在将尝试在与另一个对象接触时减慢对象的速度。

在碰撞组件中应用



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有