目录

一、适配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

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游戏开发案例

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 updatevoid Start(){//  Debug.Log("游戏开始了");rd = GetComponent<Rigidbody>();}// Update is called once per framevoid 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小游戏相关推荐

  1. Unity学习笔记-切水果小游戏第一发

    楼主学习Unity的时间有限,每天最多能抽出1小时看看,主要还是周末的时间了. 最近打算开发几个小游戏练练手.最简单的水果忍者就被我相中了,来吧,骚年,一起来一发. 先分析下切水果的几个要点: 1)手 ...

  2. 韩顺平 javascript教学视频_学习笔记17_js超级玛丽小游戏

    采用面向对象思想设计超级马里奥游戏人物 怎么用通过按键,来控制图片的位置 这个小游戏,用面向对象会很方便,不用面向对象会很麻烦很麻烦,比如以后要讲解的坦克大战的游戏,要是用纯的面向过程或函数式的方式写 ...

  3. Unity学习制作Flappy Bird小游戏(超详细全教程,可发布到PC、Web、Android平台)

    本文中Flappy Bird基于Unity2019.4.7f1完成,源工程已部分代码改为适配安卓 flappy bird:一夜爆红的胖鸟 这是一款简单又困难的手机游戏,游戏中玩家必须控制一只胖乎乎的小 ...

  4. python购物街价格竞猜_Python学习笔记 - 数字竞猜小游戏

    知识点 Python判断字符串的主要用法:str.isalnum():所有字符都是数字或字母 str.isalpha():所有字符都是字母 str.isdigit():所有字符都是数字,并且为整型数字 ...

  5. Unity学习笔记1 简易2D横版RPG游戏制作(一)

    这个教程是参考一个YouTube上面的教程做的,原作者的教程做得比较简单,我先参考着做一遍,毕竟我也只是个初学者,还没办法完全自制哈哈.不过我之前也看过一个2D平台游戏的系列教程了,以后会整合起来,做 ...

  6. Unity学习笔记—二次元日系游戏制作(实践篇-游戏初始化场景制作)

    原教程:siki:二次元日系游戏制作工具 - live2dSDK入门教程 http://www.sikiedu.com/my/course/282 (上)Unity学习笔记-二次元日系游戏制作(理论篇 ...

  7. unity学习笔记2-卡牌游戏的制作

    unity学习笔记2 需求:制作卡牌游戏 第一步,建立card类,carddatabase类 card类删除自带的start和update方法,因为只是个对象类,负责装载对象即可 carddataba ...

  8. [Unity学习笔记]2D游戏中的触碰/OnMouseDown

    [Unity学习笔记]2D游戏中的触碰/OnMouseDown 这种情况多用于2D游戏的触屏 1.给2D游戏对象加上collider 2D,让其能够被检测到

  9. [Unity学习笔记:FPS游戏制作(3)]子弹拖尾,碰撞与枪口火焰效果

    往期博客[Unity学习笔记:FPS游戏制作(2)] 发射子弹----(2021.6.20学习笔记) 文章目录 一,实现思路 二,粒子效果的实现 (1)子弹拖尾特效的实现 (2)枪口火焰特效的实现 ( ...

最新文章

  1. J2EE互联网产品打造
  2. Flutter ListView封装,下拉刷新、上拉加载更多
  3. mnist数据集图片提取出来
  4. android超级管理员权限作用,Android获取超级管理员权限的实现
  5. 原根算法C语言,数据结构与算法分析 C语言描述(第2版)Larry Nyhoff AVL树
  6. c语言小车路径规划算法,小车自动避障及路径规划.doc
  7. 电磁阀、电磁铁的工作原理说明
  8. 网络七层协议与网络四层协议
  9. 计算机编程直播,微信小程序直播电脑端OBS推流直播教程
  10. Codeforces Round #797 (Div. 3) F. Shifting String题解
  11. 一缕黑暗中的火光-----------UML九种图、开发过程中英文名称对照--------------优雅的建模语言...
  12. 80%的人分不清传感网与物联网的区别,这二者之间的具体区别到底是什么?
  13. 大数据技术-Kerberos学习笔记
  14. Fireworks 制作美式涂鸦文字
  15. 计算机知识技能答案,学生计算机知识技能赛参考题范围及答案.doc
  16. 公众号 自动生成海报 python_用python一键生成一张全部微信好友的头像墙
  17. C语言自己实现ls -al 功能,支持更换目录。 利用LINUX命令行解析,实现ls,总结船长
  18. 蓝桥杯嵌入式RTC闹钟
  19. 【转载】iphone 录制屏幕以及音效的混合实现源码分享
  20. 数商云分析:亏损30亿到盈利144亿,李宁做了什么

热门文章

  1. ARM GUN汇编标准
  2. V3S移植nes游戏模拟器(附带游戏合集)
  3. 互联网日报 | 4月28日 星期三 | 创维汽车品牌正式发布;Redmi正式进军游戏手机;网宿科技旗下云计算业务独立运营
  4. 我用PhpWebshell抓肉鸡
  5. jq 取 scrollHeight值
  6. h5游戏开发:用html+css+js写一个整蛊游戏
  7. unll是什么意思_null什么意思
  8. JAVA WEB_JSP的初步(6)
  9. 离线包打包工具使用说明
  10. 仓库物资管理系统(C#+SQL)