Страница 1 из 1

Помогите со скриптом, пож.

СообщениеДобавлено: 21 сен 2021, 18:58
Mari4og
Привет всем. Есть скрипт, вращающий объект по кругу.
Синтаксис:
Используется csharp
public Transform rotateObj;
    public Transform aroundObj;
    public float rotSpeed = 0.1f;

    void Update()
    {
        Rotator();        
    }
    void Rotator()
    {
        rotateObj.RotateAround(aroundObj.position, new Vector3(0, 1, 0), rotSpeed);      
    }

А мне нужно, что б вращаемый объект двигался "полукругом" - от точки до точки и возвращался. Типо "лупом"). Подскажите, пож., как правильно координаты вписать?

Re: Помогите со скриптом, пож.

СообщениеДобавлено: 21 сен 2021, 19:25
samana
Если в написании кода пока не получается, то сделайте с помощью анимации, где код можно будет и не писать совсем.
Для того, чтобы объект крутился вокруг любой точки в пространстве, поместите этот объект в пустого родителя и анимируйте поворот родителя. Родитель в данном случае выступает осью вращения.

Re: Помогите со скриптом, пож.

СообщениеДобавлено: 23 сен 2021, 12:49
1100001001
Синтаксис:
Используется csharp
using UnityEngine;

//Attach this script to a GameObject to rotate around the target position.
public class Example : MonoBehaviour
{
    public GameObject target;
    public float Angle = 1f;
    private float curAngle = 0;
    private int dirAngle = 1;


    void Update()
    {
        curAngle += Angle * dirAngle  * Time.deltaTime;
        if (curAngle < 90 && curAngle > 0)
        {
            transform.RotateAround(target.transform.position, Vector3.forward , Angle * dirAngle  * Time.deltaTime);
           
        }
        else dirAngle *= -1;
    Debug.Log(curAngle);

    }
}