Unity3D制作3维立体小游戏

Unity3D制作3维立体小游戏Unity3D报告,纯属个人兴趣

大家好,又见面了,我是你们的朋友全栈君。

Unity3D制作3维立体小游戏

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

Unity编写一个图形化小球游戏

Unity制作“宏大”探险场景(next chapter)

GameGo

  • Unity编写一个图形化小球游戏

核心思想:登录Unity后创建一个Project,后创建几个立方体以及一个圆形小球,圆形小球作为一个立方体来作为一个触发性物体,而立方体作为一个事情触发物质。

圆形作为一个触发性物体,故实例化图形以及一个地形,为地形丰富其地貌,如下图所示:

图1.制作对象、触发器以及地形

后开始编写 触发器行为 ,扩展功能并实行部署。

物体及特性

项目 特征 数量
圆形 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<Rigidbody>(); 
    }

    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;
    }
}
... 

后形成这样的场景,增加一个平面计分器,如下图所示:

加入计分器后效果

这样就可以开始我们愉快的游戏了!

happy game!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/141529.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 什么是回调地狱?如何解决回调地狱问题_地狱回调

    什么是回调地狱?如何解决回调地狱问题_地狱回调什么是回调地狱?该如何解决回调地狱?

    2025年5月26日
    6
  • java属于什么语言_java是什么语言 ?是什么系统?

    java属于什么语言_java是什么语言 ?是什么系统?一开始了解计算机这个专业,大家都会经常性听到Java这一词语,那么大家有真正的了解什么是Java吗?Java是属于什么语言呢?JAVA语言,其实是混合型的一种语言,Java语言是一个支持网络计算的面向对象程序设计语言。Java语言吸收了Smalltalk语言和C++语言的优点。下面来介绍一些Java的主要特征:1)Java语言是简单的。Java语言的语法与C语言和C++语言相似,这让很多程序员可…

    2022年7月8日
    22
  • webstorm的永久激活码2021-激活码分享[通俗易懂]

    (webstorm的永久激活码2021)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月22日
    3.0K
  • matplotlib的安装教程以及简单调用

    matplotlib的安装教程以及简单调用1.matplotlib的下载我们的常规下载方式就是在命令行中输入:`pipinstallmatplotlib`,这样你就可以从官方进行下载,但是这样的下载速度是十分的慢的,我们在最详细的AnacondaInstallers的安装【numpy,jupyter】(图+文)(https://chen-ac.blog.csdn.net/article/details/122374025?spm=1001.2014.3001.5502)这一博客中曾写到,可以在`pipinstallmatplo

    2022年6月15日
    79
  • python关于缩进_python缩进符号

    python关于缩进_python缩进符号在写作文的时候,老师会告诉我们每段要空两格,这两个空格标志着一个新的段落开始了。在编写程序的时候,我们也要采用类似的方式,通过缩进来表示代码块的开始和结束。认识缩进在之前学过的的例子中,我们所编写的都是简单的表达式语句,没有缩进。但是,要创建复合语句,就需要用到缩进这个重要的概念。我们可以把许多代码行组织到一个代码块中,其中的每一行代码的开始,都保持相同的空格数,通过查看代码行前面的空格数,就可以…

    2022年10月13日
    4
  • input file获取文件路径

    input file获取文件路径html代码段:<inputtype=”file”@change.prevent.stop=”upload”>vue中script代码段:data(){fileName:”},methods:{upload(event){letfiles=event.target.files[0];th…

    2022年7月25日
    137

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号