3D unity  模拟日、地、月系统

半城伤御伤魂 提交于 2020-03-15 01:51:05

                      3D unity  日、地、月系统            

1、打开unity,创建一个新的项目。

2、创建三个shpere,可分别命名为son、earth、moon来区分,设置相对比例的大小和距离。

3、素材

      到网上找太阳、地球、月球的贴图以及宇宙天空盒素材,并拖入(或导入)到

      project的Assets, 把贴图拖到相应的球体上,创建material,在shader里选择天空盒

   (Skybox/6Sided),分别选择相对应的天空盒贴图。

       

4、脚本

      在Aseets内右键create一个C#Script,注意按C#命名规则命名,打开这个脚本,

      写入相应公转自转代码。步骤如下:

C#命名规则

Pascal 规则(帕斯卡命名)
每个单词开头的字母大写(如 TestCounter).
 
Camel 规则(大驼峰和小驼峰命名)
除了第一个单词外的其他单词的开头字母大写. 如. testCounter.

Upper 规则
仅用于一两个字符长的常量的缩写命名,超过三个字符长度应该应用Pascal规则.

    

太阳自转:

源代码:

public class zizhuan : MonoBehaviour {    
    // Use this for initialization
    void Start () {       
    }           
    // Update is called once per frame
    void Update () {
        transform.Rotate(0,45*Time.deltaTime,0);
    }
}

地球公转:

源代码:

public class earthgz : MonoBehaviour {

    public GameObject Axis;

  public float RotateSpeed;
    // Use this for initialization
    void Start () {    
    }  
    // Update is called once per frame
    void Update () {
        this.transform.RotateAround(Axis.transform.position, Vector3.up, RotateSpeed);
    }
}

      --> 选中该脚本拖到相应物体上, 选择公转的旋转轴(及绕哪个物体旋转),调整公转的速度。

       

      -->  月球的自转,公转同上。(若调试时月球绕地球公转无法实现,可把月球设为地球的子对象,

             或者赋予月球一个和地球绕太阳公转速度相同的绕太阳公转的脚本。)

5、灯光

      按照地球公转时对着太阳的一面始终有光照(及可见)来放置灯光。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!