目录
刚体
刚体
重力
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),连接体添加为下方块。
下方块:添加刚体(启用重力)。
固定关节组件
在负责拉人的对象上用,将拉的人添加到连接体上。
定制摩擦力面
动态摩擦力
静态摩擦力
弹力
摩擦力是防止表面相互滑落的量。尝试堆叠对象时,此值很重要。摩擦力有两种形式:动态和静态。对象静止时使用__静态摩擦力。静态摩擦力会阻止对象开始移动。如果向对象施加足够大的力,对象将开始移动。随后,__动态摩擦力__将发挥作用。动态摩擦力__现在将尝试在与另一个对象接触时减慢对象的速度。
在碰撞组件中应用文章来源:https://www.toymoban.com/news/detail-470911.html
文章来源地址https://www.toymoban.com/news/detail-470911.html
到了这里,关于Unity日记18(刚体、获取碰撞物的信息、铰链、弹簧)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!