Rotate RotateAround

1.新建2个Sphere的GameObject,分别命名为Earth,Sun,顺便给个direct light也行。材质,贴图个人喜好了。

2.新建个脚本,并绑定至其中一个GameObject。内容如下:

using UnityEngine;

namespace Assets.script
{
    public class EarthCtrl : MonoBehaviour
    {
        private GameObject _earth;
        private GameObject _sun;
        private GameObject _mycamera;
        // Use this for initialization
        private void Start()
        {
            _sun = GameObject.Find("Sun");
            _earth = GameObject.Find("Earth");
            _mycamera = GameObject.Find("Main Camera");
        }

        // Update is called once per frame
        private void Update()
        {

            _earth.transform.Rotate(Vector3.up);    //  地球自转
            _earth.transform.RotateAround(_sun.transform.position, Vector3.up, 1f);     //地球围绕太阳转
            _mycamera.transform.RotateAround(_sun.transform.position, Vector3.up, 0.1f);    //相机,也就是我们围绕太阳转,但是总给人是太阳围绕我们转到错觉,好吧,地心说了
        }
    }
}
View Code

 

转载于:https://www.cnblogs.com/lansor/p/3298561.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值