一、创建一个项目
打开unity软件点击New project--->create project
二、创建太阳和地球
在Hierarchy视图中,右击空白处依次选择3D Object--->Sphere创建2个球体对象,并分别命名为earth和sun,然后分别选中earth和sun对象在Inspector视图中找到Transform组件,将earth的SCALe属性的X、Y、Z的值均调整为4,sun的Scale属性的X、Y、Z值调整为12
三、为对象添加纹理
1、导入全景图资源
先在网上下载地球和太阳全景图,然后将这两张图片分别拖入unity的Project视图中的Assets文件夹。
2、创建设置太阳材质
(1)、在Assets文件夹的空白处右击依次选择Create--->Material,并命名为sunMaterial;
(2)、选中sunMaterial在Inspector视图,然后将Shader设置为Panoramic;调整Tint Color为黄色或橙色,再点Select Texture,选择已导入的太阳全景图为从材质添加纹理。
3、给earth和sun对象添加纹理
将地球全景图拖到Hierarchy视图的earth对象上,sunMaterial拖到sun对象上。
四、导入天空盒资源
菜单栏点击Assets在下拉菜单依次点击Import Package--->Custom Package...然后选择要导入的包点击打开,然后在弹出的Import Unity Package弹窗中点Import导入包。
五、删除平行光、添加天空盒
1、在Hierarchy视图中选中Directional Light右击delete删除原有的Directional Light平行光;
2、菜单栏点击Window在下拉菜单中依次选择Rendering--->Lighting,在弹出的Lighting视图中选择Environment选择Skybox Material添加天空盒特效
六、实现地球倾斜23.5°
1、方法一:
可以直接在earth对象的Inspector视图的Transform变换组件中调整Rotation(旋转)的X值为23.5实现倾斜(注意这里要根据自己的实际情况设置)
2、方法二:
可以利用代码实现地球倾斜。
//rotation表示物体的世界空间旋转,是一个 Quaternion类型(四元数)
// Quaternion.Euler()把欧拉角(角度)换成四元数表示,unity内部用四元数表示旋转
transform.rotation = Quaternion.Euler(23.5f, 0f, 0f);
七、添加光源
选中sun对象,在Inspector视图中选择Add Component---->搜索Light添加,然后在Light中调整Type为Point(点光源),Color为橙色,Intensity(光照强度)可以大一点效果越明显。之后调整一下点光源的范围通过拖动
八、添加自转公转代码
1、在Project视图的Assets文件夹的空白处右击依次选择create--->C# Script,并命名为Earth
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Earth : MonoBehaviour
{
public Transform sun;
// Start is called before the first frame update
void Start()
{
//rotation表示物体的世界空间旋转,是一个 Quaternion类型(四元数)
// Quaternion.Euler()把欧拉角(角度)换成四元数表示,unity内部用四元数表示旋转
transform.rotation = Quaternion.Euler(23.5f, 0f, 0f);
}
// Update is called once per frame
void Update()
{
//自转---顺时针沿y轴旋转
this.transform.Rotate(0, -10f, 0);
//公转
transform.RotateAround(sun.position, sun.up, -1.0f);
}
}
2、挂载Earth脚本到earth对象,然后在Inspector视图的Earth(Script)找到Sun字段拖入sun对象
九、运行实验完成
点击运行可以在Game视图下看到效果

5392

被折叠的 条评论
为什么被折叠?



