Unity学习笔记[一] RollBall小游戏

这篇具有很好参考价值的文章主要介绍了Unity学习笔记[一] RollBall小游戏。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、适配vs

二、初识Unity

2.1 unity核心模块

2.2 Unity基本操作和场景操作

2.3 世界坐标系和局部坐标系

2.4 工具栏 QWER

三、基础知识

3.1 基本组件

3.2 刚体组件

3.2.1 获取刚体组件

3.2.2 给刚体施加力

3.3 三维向量Vector3

3.4 通过按键控制左右运动

3.5 控制相机位置和跟随

3.6 物体旋转

3.7 碰撞检测

3.8 触发检测

四、RollBall游戏开发案例


一、适配vs

Edit -> Preference -> External Tools、

二、初识Unity

Unity学习笔记[一] RollBall小游戏

2.1 unity核心模块

(1)Project:工程面板,存放工程的各种资源。声音、模型、场景、材质等。

(2)Hierarchy: 层级面板,战士当前打开的场景里面有那些东西(游戏物体)。

(3)Inspector:检视面板(属性面板),查看一个游戏物体由哪些组件组成。

因此,场景 = 多个游戏物体   多个游戏物体包含多个组件

(4)Scene:场景面板,显示当前场景的样子

2.2 Unity基本操作和场景操作

1、如何创建基本模型和如何导入复杂模型

2、场景基本操作 聚焦:双击游戏物体 或者 F 放大缩小视野:鼠标滚轮 围绕物体旋转:Alt+鼠标左键 使用MoveTool下 移动物体

3、视野分类 Persp 透视视野 ISO平行视野 在不同视野下:关于鼠标右键的不同

4、保存(场景保存、代码保存) Ctrl + S

2.3 世界坐标系和局部坐标系

(1)坐标系:x 左右 y 上下 z 前后

(2)局部坐标系  : 父物体与子物体

(3)单位: Unity坐标以米为单位

2.4 工具栏 QWER

三、基础知识

3.1 基本组件

Transform:变换组件,位置、旋转、缩放。

Mesh Filter:网格

Meth Render:网格渲染(这个组件会使用材质进行渲染)

Collider:碰撞检测

3.2 刚体组件

3.2.1 获取刚体组件

private Rigidbody rd;
rd = GetComponent<Rigidbody>();

3.2.2 给刚体施加力

rd.AddForce(Vector3.forward);

3.3 三维向量Vector3

三维向量 (x,y,z) Vector3.forward 等于 (0,0,1)

一些常用的向量 Vector3.right Vector3.left Vector3.forward Vector3.back Vector3.up Vector3.down

创建向量 new Vector3(x,y,z)

3.4 通过按键控制左右运动

1. 如何设置(Project Setting -》Input Manager)

2.左右键/AD

float h = Input.GetAxis("Horizontal");

 3.上下键/WS

float v = Input.GetAxis("Vertical");
float h = Input.GetAxis("Horizontal");
float v = Input.GetAxis("Vertical");
rd.AddForce(new Vector3(h,0, v));

3.5 控制相机位置和跟随

步骤:

1、得到Player的Transform

2、计算位置偏移

3、根据位置偏移设置相机的位置

public Transform playerTransform;
private Vector3 offset;
// Start is called before the first frame update
void Start()
{
offset = transform.position - playerTransform.position;
}
// Update is called once per frame
void Update()
{
transform.position = playerTransform.position + offset;
}

3.6 物体旋转

transform.Rotate(Vector3.up,Space.World);

3.7 碰撞检测

碰撞事件  OnCollisionEnter OnCollisionExit  OnCollisionStay

private void OnCollisionEnter(Collision collision)
    {
        if(collision.gameObject.tag  == "Food")
        {
            Destroy(collision.gameObject);
        }
    }

3.8 触发检测

触发事件 OnTriggerEnter OnTriggerStay OnTriggerExit


    private void OnTriggerEnter(Collider other)
    {
        if (other.tag == "Food")
        {
            Destroy(other.gameObject);
            score++;
            scoreText.text = "分数: " + score;
        }
        if(score >= 11)
        {
            winText.SetActive(true); //物体可见
        }
    }

四、RollBall游戏开发案例

Unity学习笔记[一] RollBall小游戏文章来源地址https://www.toymoban.com/news/detail-407111.html

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class Player : MonoBehaviour
{
    public Rigidbody rd;
    public int score = 0;
    public Text scoreText;
    public GameObject winText;
    
    // Start is called before the first frame update
    void Start()
    {
        //  Debug.Log("游戏开始了");
        rd = GetComponent<Rigidbody>();
      
    }

    // Update is called once per frame
    void Update()
    {
        // Debug.Log("游戏正在执行");
        float fh = Input.GetAxis("Horizontal");
        float fw = Input.GetAxis("Vertical");
        //   rd.AddForce(new Vector3(fh, 0, fw));

        rd.AddForce(new Vector3(fh,0,fw));

        //rd.AddForce(Vector3.up);
    }

    private void OnCollisionEnter(Collision collision)
    {
        if(collision.gameObject.tag  == "Food")
        {
            Destroy(collision.gameObject);
        }
    }

    private void OnTriggerEnter(Collider other)
    {
        if (other.tag == "Food")
        {
            Destroy(other.gameObject);
            score++;
            scoreText.text = "分数: " + score;
        }
        if(score >= 11)
        {
            winText.SetActive(true);
        }
    }
}

到了这里,关于Unity学习笔记[一] RollBall小游戏的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Unity小游戏】游戏开发案例-Unity打造畅玩无阻的小游戏(上)

    乒乓克隆 使用立方体建造竞技场、球拍和球。 移动球和球拍。 击球并得分。 让相机感受到冲击力。 给游戏一个抽象的霓虹灯外观。 这是有关基础游戏的系列教程中的第一个教程。在其中,我们将创建一个简单的 Pong 克隆。 本教程是使用 Unity 2021.3.16f1 制作的。 本系列将涵

    2024年02月13日
    浏览(31)
  • 【Unity小游戏】《捕鱼达人》小游戏来啦~ 有源码下载【文末送书】

    📢博客主页:https://blog.csdn.net/zhangay1998 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📢本文由 呆呆敲代码的小Y 原创,首发于 CSDN 🙉 📢未来很长,值得我们全力奔赴更美好的生活✨

    2023年04月08日
    浏览(26)
  • Unity小游戏——迷你拼图

    拼图演示 资源:  链接:https://pan.baidu.com/s/1BGeSmRCO_WZRUyl3MxefGw  提取码:0n4a 排列拼图碎片,拼出最后的图案。可以点住碎片的任意位置拖动;点击\\\"重来\\\"按钮,可以回到最初状态重新开始。 有很多电脑游戏的原型来自于现实世界中的玩具,拼图游戏就是其中的一个代表。 本

    2024年02月14日
    浏览(32)
  • Unity - 微信小游戏

    总参考:Unity WebGL 微信小游戏适配方案(公测)   下载 Unity插件,并导入至游戏项目中,版本更新请查看更新日志 请查阅推荐引擎版本,安装时选择 WebGL 组件 最终选择 Unity2021.2.5f1c1 InstantGame 前往Node官网安装长期稳定版 之前已安装 v16.17.0 前往微信开发者工具下载安装 Stable

    2024年02月06日
    浏览(42)
  • 【Unity】小球吃方砖小游戏

    目录 游戏背景 游戏开发         2.1场景布置         2.2小球运动         2.3镜头跟踪         2.4吃掉方砖         2.5结束提示 游戏录制           用wasd(↑←↓→)操控小球进行平面滑动,小球触碰会原地打转的立方体后立方体会消失,消除5个小球后提示

    2024年02月09日
    浏览(29)
  • unity小球吃金币小游戏

    链接放在这里 unity小球吃金币小游戏-Unity3D文档类资源-CSDN下载 这是我在学完虚拟现实技术这门课程后利用unity所做的小球吃金币小游戏,里面有源码和作品源文件,用u更多下载资源、学习资料请访问CSDN下载频道. https://download.csdn.net/download/m0_57324918/85604051 1创建Roll A Ball小球吃

    2023年04月08日
    浏览(32)
  • Unity 开发微信小游戏

    今天给大家分享一下我近期用Unity开发微信小游戏的经过和踩坑; 微信小游戏就是微信小程序,小游戏是小程序的一个子集,小游戏是一种特殊的小程序;这篇文章建议大家收藏,干货满满 Unity开发微信小程序 Unity 3D下载官网 Unity转化小程序的Package包下载地址 微信开发者工

    2024年02月09日
    浏览(31)
  • unity开发微信小游戏步骤

    将Unity项目接入到微信小程序中需要通过微信开发者工具进行操作 1. 准备工作 在开始接入前,需要保证您的开发环境已经搭建完成。具体包括以下步骤: - 安装Unity编辑器,并确保您的项目能够正常运行。 - 下载微信小程序开发者工具,并登录微信开发者账号。 - 创建一个微

    2023年04月22日
    浏览(42)
  • unity开发微信小游戏1

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 最开使用unity3d开发微信小游戏,遇到了一些问题,记录一下, 同时创建了一个交流群 QQ 641029627,现在应该没人,有需要的可以加入一起讨论,广告哥远离 提示:以下是本篇文章正文内容,下面案例可

    2023年04月08日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包