Kentavr16
@Kentavr16
long cold winter

Как использовать Time.deltaTime в методе transform.RotateAround?

Мне нужно добиться такого поведения - объект вращается вокруг другого объекта, который в свою очередь движется. Попробовал решить вопрос так:

public GameObject parent;
public float parentRotationSpeed;

 private void ParentRotation()
    {
        transform.RotateAround(parent.transform.position ,Vector3.up ,parentRotationSpeed);
    }

  
    void LateUpdate()
    {
        ParentRotation();
    }

Это работает, но непонятно, как это нормализовать с deltaTime. parentRotationSpeed * Time.deltaTime не работает - в данном случае третий параметр, насколько я понял, не скорость вращения, а угол. Как быть? Может есть варианты попроще организовать вращение одного объекта вокруг второго?
  • Вопрос задан
  • 30 просмотров
Решения вопроса 1
by_kapt0xa
@by_kapt0xa
Учу кресты катаюсь на велике
я нажал не ту кнопку и удалил ответ. восстанавливаю:

видос:
https://youtu.be/QavP2SPtXQA
код:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class NewBehaviourScript : MonoBehaviour //дай скрипту норм назвыание а не "нью бехейвор скрипот"
{
    void Start()
    {
        axis.Normalize();
    }

    [SerializeField] Vector3 axis;//ось вращения
    [SerializeField] float rotation_speed;// градусы в секунду
    void Update()//если update или late update, то используйте deltaTime, если fixed update, то используйте fixed delta time. грубо говоря одно fixed синхронизированно с физическими событиями
    {
        transform.Rotate(axis, rotation_speed * Time.deltaTime);
    }
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы