Unity3D制作3维立体小游戏

Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化的多平台综合游戏开发工具,是一个全面整合的专业的游戏引擎,Unity类似Director,Blender game engine,Virtools或Torque Game Builder等利用交互的图形化开发环境为首要方式的软件。下面通过Unity做这2件事:

– Unity编写一个图形化小球游戏
– Unity制作“宏大”探险场景(next chapter)
GameGo
Unity编写一个图形化小球游戏
核心思想:登录Unity后创建一个Project,后创建几个立方体以及一个圆形小球,圆形小球作为一个立方体来作为一个触发性物体,而立方体作为一个事情触发物质。
圆形作为一个触发性物体,故实例化图形以及一个地形,为地形丰富其地貌,如下图所示:
后开始编写 触发器行为 ,扩展功能并实行部署。
物体及特性
项目 | 特征 | 数量 |
圆形 | Rigidbody | 1 |
立方体 | none | n |
摄像机 | follow | 1 or n |
小球以及其特性
public class PlayerController : MonoBehaviour{
public float speed;
private Rigidbody rb;
public GameManager gameManger;
// Use this for initialization
void Start () {
rb = GetComponent();
}
void FixedUpdate () {
float moveHorizontala = Input.GetAxis("Horizontal");
float moveVertical = Input.GetAxis("Vertical");
Vector3 movement = new Vector3(moveHorizontala, 0.0f, moveVertical) * speed;
rb.AddForce(movement);
}
void OnTriggerEnter(Collider other){
if (other.gameObject.CompareTag("Cube")){
float newX = Random.value * 46.0f - 23.0f;
float newZ = Random.value * 46.0f - 23.0f;
other.gameObject.transform.position = new Vector3(newX, 1.0f, newZ);
//other.gameObject.transform.position = new Vector3(newX, 1.0f, newZ);
gameManger.AddScore();
}
}
摄像机及其动作
public class CameraController : MonoBehaviour {
public Transform player;
private Vector3 offset;
// Use this for initialization
void Start () {
offset = transform.position - player.position;
}
// Update is called once per frame
void LateUpdate () {
transform.position = offset + player.position;
}
}
...
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/hz/122156.html