#frame-rate #timedelta #rigid-bodies #kinematics
Вопрос:
Как я это делаю, каждый раз, когда персонаж сталкивается с блоком, искинематическое свойство Rigidbody переходит в True и не может вернуться к повреждению в течение 3 секунд. Когда время закончится, мне нужно изменить кинематику на ложную и уже можно получить повреждения?? И мне также нужно изменить способ перемещения персонажа, чтобы учесть частоту кадров в секунду, и отрегулировать скорость, до сих пор это мой код…
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Personaje : MonoBehaviour {
public float speed = 5.0f;
public int vidaMaxima;
private int vidaActual;
private Rigidbody rigidBody;
// Use this for initialization
void Start()
{
Application.targetFrameRate = 60;
rigidBody = GetComponent<Rigidbody>();
rigidBody.freezeRotation = true;
vidaActual = vidaMaxima;
}
// Update is called once per frame
void Update ()
{
transform.position = transform.position transform.forward = speed * Time.deltaTime;
}
public void RestarVida()
{
vidaActual--;
}
public void OnTriggerEnter(Collider other)
{
if(other.tag == "Enemy")
{
RestarVida();
Debug.Log("Restar vida");
}
}
}