我已经尝试了一段时间,以阻止敌人在我的玩家与之碰撞时旋转。我插入了一个刚体,我尝试冻结位置以及冻结旋转,但是他一直这样做,我找不到任何有关此问题的信息。
我在Google上搜索过几次,找不到任何问题,很接近我的问题。 这是问题的屏幕截图
我也尝试将Angular拖拽设置为0,但没有成功,它仍然保持不变。 听起来好像我缺少了一些东西,但是我找不到任何解决方案。
我也曾尝试在unity论坛上查看所有答案,但找不到任何解决方案或了解此问题的方法。
我已进行编辑以插入敌方脚本 这是我的敌人脚本
using UnityEngine;
using System.Collections;
public class target : MonoBehaviour {
public float health = 100f;
public Animator animx2;
public AudioSource audiovfx2;
public void TakeDamage (float amount)
{
health -= amount;
if (health <= 0f)
{
Die();
}
}
void Die()
{
animx2.SetBool("isdie",true);
audiovfx2.Play();
healthcontroller.score += 10;
health -= 10;
Destroy (gameObject, 1.5f);
}
void Update()
{
animx2 = GetComponent<Animator>();
GetComponent<AudioSource>().Play();
}
void OnTriggerEnter(Collider other) {
if (other.tag == "Player") {
Rigidbody rb = GetComponent<Rigidbody>();
rb.angularVelocity = Vector3.zero
//Stop Moving/Translating
//rbdy.velocity = Vector3.zero;
//Stop rotating
//rbdy.angularVelocity = Vector3.zero;
}
}
void OnTriggerExit(Collider other) {
if (other.tag == "Player") {
//here i want to return to normal
}
}
}
提前谢谢
答案 0 :(得分:1)
例如,您是否尝试使Rigidbody组件的angularVelocity
无效
rb.angularVelocity = Vector3.zero;