简体   繁体   中英

Rotating an object around an axis in unity

I'm trying to do a simple thing in unity: rotate an object around an axis. But I'm missing something, my object just goes in the downward direction, instead of rotating around the axis.

This is my update function:

this.transform.RotateAround(new Vector3(1,0,5), new Vector3(0,1,0), 10 * Time.deltaTime);

where (1,0,5) is the center of rotation. My object is at position (0,0,0). The object just moves down, instead of rotating. Any idea why this is happening?

I think it can solve your problem. This is the script you need:

using UnityEngine;

public class RotateObj : MonoBehaviour
{
    private void Update()
    {
        // rotate to its own axis
        transform.Rotate(new Vector3(Random.value, Random.value, Random.value)); 

        // rotate about axis passing through the point in world coordinates
        transform.RotateAround(Vector3.zero, Vector3.up, 1.0f); 
    }
}

and this is your unity configuration:

在此处输入图片说明

And it rotates around itself (randomly) and Vector3.zero coordinates

在此处输入图片说明

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM