14302010043 林孟潇
基于Unity3D的小型游戏搭建
Unity3D是一个轻便简单的3D游戏引擎,可以通过简单可视化的建模软件进行设计,并使用C#语言开发脚本。我依据Unity3D的官方教程,写了一个简单的小球碰撞的游戏。
在打开Unity3D引擎,创建好工程之后,可以看到设计界面。一般来说我们首先需要添加一个用作地板的Plane,可以之间通过菜单插入一个Plane:
安防好地板,设置好大小,就需要放置一些Cube来作为场地的边界(墙壁)。这些Cube要求足够扁平,可以通过设置Transform的Scale来实现:
墙壁安置完毕之后,就可以防止可以操纵的小球了。
为了能够操纵小球运动,我们需要把小球设置成刚体(Rigidbody),使得它拥有质量,这样受力才有相应的加速度。需要点击AddComponent按钮,添加Physics的Rigidbody组件。这里面可以设置质量等等属性。

最后需要编写一段脚本支持小球的运动。
using UnityEngine;
using System.Collections;
public class PlayController : MonoBehaviour
{
private Rigidbody rb;
public float speed;
public void FixedUpdate()
{
float moveHorizontal = Input.GetAxis("Horizontal");
float moveVertical = Input.GetAxis("Vertical");
Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical);
rb.AddForce(movement * speed);
}
// Use this for initialization
void Start()
{
rb = GetComponent < Rigidbody >();
}
}
这段小脚本通过根据输入,给一个力的作用,并乘以速度speed,这个量没有在代码中定义,但是可以在开发界面中设置。

最后点击屏幕上方播放键,就可以体验了。为了实现视角跟踪,可以添加以下代码:
using UnityEngine;
using System.Collections;
public class CameraController : MonoBehaviour {
private Vector3 offest;
public GameObject player;
void Start () {
offest = transform.position - player.transform.position;
}
void LateUpdate () {
transform.position = player.transform.position + offest;
}
}
然后设置好player为小球,就可以实现跟踪视角。