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、灯光
按照地球公转时对着太阳的一面始终有光照(及可见)来放置灯光。
来源:oschina
链接:https://my.oschina.net/u/4462207/blog/3194969