c# - 从物体发出恒定的力(吹叶机技工)C#
问题描述
我正要处理一个新项目,其中核心游戏机制是用吹叶机用树叶覆盖被黑手党杀死的尸体。
当警察询问你时,你需要把它们盖好,以免引起注意。
我在这个项目中看到的唯一问题是如何创建这种吹叶机机制。在我的脑海中,我可以想到将一个空物体附加到我的吹叶机上,它有一个常量 [rigibody.AddExplosiveForce],它在鼠标点击时触发,但就是这样。
我应该看什么以及创建它的合乎逻辑的方法是什么?您不需要为我编写整个代码,我只是想知道我需要考虑哪些工具或脚本 API。
谢谢 :)
解决方案
您可以尝试使用Rigidbody.AddForceAtPosition()
. 或计算方向并尝试Rigidbody.AddForce()
。
基本上Rigidbody.AddExplosionForce
是作为Rigidbody.AddForce
,但使用球体来计算Vector3
。如果您需要连续发射它,您应该只在FixedUpdate()
您可以通过 usingRaycasts
或 simple获得的对象列表中使用它Trigger Collider
,例如Capsule Collider
.
你可以像这样使用 Collider Capsule ↑↑↑。在OnTriggerEnter
或中OnCollisionEnter
:
private void OnCollisionEnter(Collider other) {
if (other.gameobject.tag != "leaf") return;
// Your AddForce here.
// Also you can get exact point of collsion by using
// other.contacts and use this as AddForce argument.
}
推荐阅读
- javascript - Data 给了我 {url: ......} 但 Data.url 在 nodejs 中给了我 undefined
- google-apps-script - Google Apps 脚本:切换案例始终默认结果
- python - 如何在 Django 中迁移多个数据库?
- c# - 从 http 站点下载文件失败并出现错误“System.IO.IOException”
- c# - 当列具有空值时,如何在 Gridview 中删除一行?
- angular - 如何在Angular Reactive Forms的另一个输入中获取选择选项文本
- kotlin - 如果构造函数不能返回 null,为什么我需要在初始化后进行类型检查?
- angular - Ng-template 标签不接受 *ngIf 指令
- deployment - 在 Azure Devops 中使用 Munits 部署项目时出现问题
- r - 子集 a 并按数据框分组,在 r 中具有多个条件和多个标准