Unity3D游戏开发首例:(超低配版)滚动天空
Posted 代码骑士
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity3D游戏开发首例:(超低配版)滚动天空相关的知识,希望对你有一定的参考价值。
目录:
第一步:创建3D项目
第二步:构造游戏地面
第三步:创建gameObject
第四步:丰富我们的主角
第五步:实现物体移动(代码)
第六步:增加障碍物
第七步:设置相机跟随(代码)
第八步:设置起点和终点标识
第九步:给背景颜色上色
第十步:改进与打包
正片开始》》》---------------------------------------------------------------------------------------------------------
第一步:创建3D项目,打开Unity Hub,新建项目选择3D。
第二步:构建游戏地面
1、在左侧Hierarchy局域栏下,点击鼠标右键,选择3D Object,选择Cube新建一个立方体在scence中。
2、观察右侧Inspector收集栏下面,有属性Box Collider已经勾选,说明此时的物体已经增添了三维碰撞盒。如果没有就在Add component里手动添加一个。
3、观察左侧Hierarchy标签上方有一排小工具。
分别对应快捷键和功能是:
Q--抓手工具,控制局部场景移动
W--移动工具,控制物体移动
E--翻转工具,控制物体翻转
R--伸缩工具,控制物体伸缩,可以任意拉扯,若想保持原比例请使用时按住shift键
T--平面扩大缩小工具,控制平面的大小,要想等比例放大缩小请按住shift键
Y --伸缩加旋转工具,结合了前两个工具的性能。
4、通过伸缩工具将立方体拉成地板的形状。
第三步:创建gameObject
1、在Hierarchy栏中右键3D Object选择Sphere,创建一个球体。调整好大小放在合适位置处。
第四步:
1、因为刚创建的球体与地板颜色一致不好区分,所以给小球上色。
2、在Priject栏Asset文件夹下右键Creat,选择Marterial(材质)。在Inspector栏中,点击颜色块(默认为白色)进行修改。修改完后将下方的材质球直接拖拽到场景中的物体上面就完成了上色。
3、给物体增加物理属性。在Inspector栏下点击Add Component,增添物理刚体属性rigid body。
这样小球才能具有物理效果。
第五步:实现物体移动。
1、点击小球,在Inspector栏下点击Add Component,搜索New Scripts,并给新脚本起个好名字。
给物体增添脚本实现通过键盘来控制小球移动:
using UnityEngine;
public class controller : MonoBehaviour
{
public Rigidbody rb;//引用刚体组件
public float moveSpeed = 30;//设置移动速度
private void Start()
{
}
void FixedUpdate()//FixedUpdate比Update更适合物理变化的更新,更加丝滑
{
rb.AddForce(0, 0, 1200 * Time.deltaTime);//给物体角色持续施加一个外力
//通过键盘方向键控制物体移动
float moveX = Input.GetAxis("Horizontal");
float moveY = Input.GetAxis("Vertical");
Vector3 position = transform.position;
position.x += moveX * moveSpeed * Time.deltaTime;
position.y += moveY * moveSpeed*10 * Time.deltaTime;
transform.position = position;
}
}
(代码不懂的地方看注释或留言)
第六步:添加障碍物。
1、在Hierarchy中点击鼠标右键选择3D Object 可以使用各种3D物体设置障碍在游戏地面上。方法与构建地面类似,同时也可以用给小球上色的方法给障碍物上色。
第七步:设置相机跟随(划重点)
1、首先在主相机(MainCamera)下新建一个空项目( Creat Empty )。给它起个别名CameraAnchor。此时的CameraAnchor的Inspector栏中的position参数都是0;将CameraAnchor拖拽到Sphere里做球的子物体,此时会发现CameraAnchor二点Inspector栏中position参数已经不是0,0,0了。他在球体的附近,并且CameraAnchor与球的距离是可以自己调的,自己觉得合适就好。
2、然后给主相机(MainCamera)新建脚本:
using UnityEngine;
public class CameraMovement : MonoBehaviour
{
//相机跟随对象
public GameObject followTarget;
//相机跟随延迟速度
public float moveSpeed;
// Update is called once per frame
void Update()
{
if(followTarget!=null)
{
//相机位置Z与目标位置Z做差值,实现相机前后跟随且距离不变
var newZ = Mathf.Lerp(transform.position.z, followTarget.transform.position.z, Time.deltaTime * moveSpeed);
var newVector3 = new Vector3(transform.position.x, transform.position.y, newZ);
transform.position = newVector3;
}
}
}
3、然后在主相机的Inspector脚本栏中会发现
将Sphere的子物体CameraAnchor拖拽到FollowTarget即可实现相机跟随。
第八步:设置起点和终点标识。
1、在Hierarchy中右键3D object 选择3dText设置字体大小、颜色、位置自由发挥。
第九步:给背景上色
搞点简约风,给背景上个纯色。
1、点击Main Camera,观察右侧Camera栏,将clear flags 选择solid color,然后看background,点击色块,选择喜欢的颜色即可。
第十步:打包
1、点击file->building settings,别急着打包,在点击一下左下角player setting,设置产品名称等等。然后点击build即可。
想要实现更多好玩有趣的功能那就静待下次更新吧。
以上是关于Unity3D游戏开发首例:(超低配版)滚动天空的主要内容,如果未能解决你的问题,请参考以下文章
Unity3D 灵巧小知识点☀️ | Unity 中 怎样切换 天空盒 背景
Android OpenGLES2.0(十七)——球形天空盒VR效果实现