首页 > 解决方案 > 从物体发出恒定的力(吹叶机技工)C#

问题描述

我正要处理一个新项目,其中核心游戏机制是用吹叶机用树叶覆盖被黑手党杀死的尸体。

当警察询问你时,你需要把它们盖好,以免引起注意。

我在这个项目中看到的唯一问题是如何创建这种吹叶机机制。在我的脑海中,我可以想到将一个空物体附加到我的吹叶机上,它有一个常量 [rigibody.AddExplosiveForce],它在鼠标点击时触发,但就是这样。

我应该看什么以及创建它的合乎逻辑的方法是什么?您不需要为我编写整个代码,我只是想知道我需要考虑哪些工具或脚本 API。

谢谢 :)

标签: c#unity3d

解决方案


您可以尝试使用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.
 }

推荐阅读