当前位置:网站首页>D46_给刚体施加的力
D46_给刚体施加的力
2022-08-05 05:18:00 【没那么简单GG】
Rigidbody r;
public int F;
private void Start()
{
r = GetComponent<Rigidbody>();
r.AddForce(Vector3.forward * F, ForceMode.Force);
//v = f * t / m;
//添加一个 持续 的力,并且使用质量
//不同质量的物体运动的速度不同
//物体最终是匀速运动,速度与力的大小和刚体的质量有关
r.AddForce(Vector3.forward * F, ForceMode.Impulse);
//v = f * t / m;
//添加一个 瞬间 的力,并且使用质量
//不同质量的物体运动的速度不同
//物体最终是匀速运动,速度与力的大小和刚体的质量有关
r.AddForce(Vector3.forward * F, ForceMode.VelocityChange);
//v = f * t / m;
//添加一个 瞬间 的力,忽略质量
//物体最终是匀速运动,速度只受到力的大小影响
r.AddForce(Vector3.forward * F, ForceMode.Acceleration);
//v = f * t / m;
//添加一个 持续 的力,忽略质量
//物体最终是匀速运动,速度只受到力的大小影响
r.AddTorque(Vector3.forward * F, ForceMode.Force);
//添加扭矩(世界方向)
r.AddRelativeForce(Vector3.forward * F, ForceMode.Force);
//添加力(自身方向)
r.AddRelativeTorque(Vector3.forward * F, ForceMode.Force);
//添加扭矩(自身方向)
}来个题:
要求实现炸弹爆炸效果
public float radius;
public float force;
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
//找到爆炸范围内的所有Collider 给需要添加力的物体统一加一个Layer
Collider[] col=Physics.OverlapSphere(transform.position,radius,1<<8);
for (int i = 0; i < col.Length; i++)
{
//找到炸弹和各个游戏物体之间的方向
Vector3 dir = (col[i].transform.position - transform.position).normalized;
//离炸弹最近爆炸力最大=force 离炸弹超过radius(爆炸半径)力最小=0
//距离越远游戏物体受到的冲击力越小 距离越大 t越小
float t = 1 - (Vector3.Distance(transform.position,col[i].transform.position)/radius);
//t限制在0到1之间
t=Mathf.Clamp(t,0,1);
float finalForce = Mathf.Lerp(0,force,t);
//添加一个瞬时的,受质量影响的力
col[i].GetComponent<Rigidbody>().AddForce(dir*finalForce,ForceMode.Impulse);
}
}
}边栏推荐
猜你喜欢
![[Pytorch study notes] 10. How to quickly create your own Dataset dataset object (inherit the Dataset class and override the corresponding method)](/img/71/f82e76085f9d8e6610f6f817e2148f.png)
[Pytorch study notes] 10. How to quickly create your own Dataset dataset object (inherit the Dataset class and override the corresponding method)

三、自动配置源码分析

每日一题-最长回文子串-0714

【shell编程】第二章:条件测试语句

链表章6道easy总结(leetcode)

UE5再次更新!扫描或手动建模面部模型可直接转为绑定好的Metahuman

多边形等分

MySQL主从复制—有手就能学会的MySQL集群搭建教程

如何用UE5渲染一个可爱的茶壶屋?

PoE视频监控解决方案
随机推荐
tensorflow的session和内存溢出
[Intensive reading of the paper] R-CNN's Bounding box regression problem is detailed
Redis设计与实现(第三部分):多机数据库的实现
单片机按键开发库-支持连击、长按等操作
【ts】typescript高阶:分布式条件类型
电子产品量产工具(3)- 文字系统实现
浅谈遇到的小问题
LeetCode刷题之第23题
九、响应处理——内容协商底层原理
framebuffer应用编程及文字显示(1)
leetCode刷题之第31题
WCH系列芯片CoreMark跑分
多边形等分
CVPR 2020 - 频谱正则化
每日一题-合并两个有序链表-0720
基于STM32F407的一个温度传感器报警系统(用的是DS18B20温度传感器,4针0.96寸OLED显示屏,并且附带日期显示)
URP渲染管线实战教程系列 之URP渲染管线实战解密(一)
每日一题-盛最多水的容器-0716
Polygon计算每一个角的角度
网络通信及相关函数介绍