Siki_Unity_1-1_Unity零基础入门_打砖块
1-1 Unity零基础入门 打砖块
任务1:素材源码
www.sikiedu.com/course/77
任务2:Unity介绍
王者荣耀,球球大作战等游戏都是用unity开发的
跨平台的游戏引擎
就业方向:游戏开发,VR/AR开发
任务3:Unity的安装
推荐在官网最下方下载补丁版本
任务4:Unity破解
学习时可以使用破解版:http://www.ceeger.com/forum/read.php?tid=23396&page=1
pan.baidu.com/s/1eStOgAe,ccfq 下载破解补丁
设置好路径和Version后点击Create License;点击Patch替换即可。
任务5:创建Unity工程
BreakTheBricks
Unity工程目录简介:
Assets:模型/图片/声音/脚本资源
Library:库/shader/内置脚本等
ProjectSettings:工程相关的设置
Temp:临时文件存储,关闭unity后临时文件会被删除
任务6:Unity面板
Project下文件与文件夹Assets中的文件是一一对应的
Hierarchy:显示当前场景下的所有GameObject
任务7:什么是场景Scene
新建场景:File->New Scene / Ctrl+n
保存场景:在Assets目录下创建Scenes文件夹并放入;Ctrl+s
命名规则:NameScene.unity
任务8:怎么操作视野
鼠标右键拖拽:围绕自身进行旋转
alt+鼠标左键拖拽:围绕某一点/聚焦的GameObject进行旋转
鼠标滚轮:缩放
按住鼠标滚轮拖拽:水平平移
鼠标在Hierarchy中双击某GameObject / 选中某GameObject后按F:聚焦
视图的选择:Perspective/ Orthographic
任务9:游戏物体的基本操作
Camera:相机图标的缩小:Gizmos中调节Icons的大小
左上角五个小工具:
第一个可以按住鼠标滚轮代替
第五个是用于UI设计的
分别对应快捷方式QWERT
左边是Pivot/Center的切换:
每个GameObject都有一个在世界中表达位置的点
Center为视觉上计算出来的中心点
Pivot为美工在设计的时候制定的中心点
左边是Local/Global的切换:
Local为局部坐标系
Global为世界坐标系
任务10:游戏物体和组件的关系
每个GameObject由若干个组件Component定义
任务11:打砖块案例的场景
发射子弹打一堵墙
1. Ctrl+n 新建Main.unity的Scene
2. 需要一个地面 Plane,rename为Ground->Position(0,0,0),scale变大一些
Position以米为单位;Rotation以度°为单位
3. 把背景的天空去掉,Camera->Clear Flags->Solid Color并调成灰色
4. 修改地面颜色,修改material贴图
新建文件夹Materials
Create->Material->rename Ground
Albedo:修改颜色或指定贴图
Metailic:金属感(0-1金属)
Smoothness:光滑度(0不反光-1)
5. 将该material赋值给ground
直接将material拖到Scene中的ground上
或在Ground的Inspector->Mesh Renderer->Materials->element中赋值
任务12:创建砖块和砖块的Prefab
创建一个砖块:Cube->reset Transform->y:0.5
添加Rigidbody组件->勾选Use Gravity
将该brick创建成一个Prefab:
创建文件夹Prefabs->将Hierarchy中的brick拖动到Project中的文件夹下即可创建Prefabs
任务13:创建墙和子弹的Prefab
1. 创建多个砖块砌成的墙:
Ctrl+d->按住Ctrl进行移动(以一米为单位进行移动)
创建一个empty的GameObject,用来作为所有砖块的parent,named as Wall
2. 创建子弹:从camera的位置开始发射
创建子弹:Sphere->scale (0.5,0.5,0.5)
制作成Prefeb(因为之后要通过代码实例化)
任务14:创建第一个C#脚本
1. 创建文件夹Scripts
2. 在Main Camera上add component script Shoot,创建名为Shoot的c#脚本
使用VS 2017打开c#脚本:Edit->Preference->External Tools->External Script Editor
任务15:脚本的基本结构
void Start() {} // 初始化时执行 Used for initialization
void Update() {} // called once per frame
任务16:控制子弹的生成
在Update中实例化Prefab:
if(Input.GetMouseButtonDown(0))
{
GameObject.Instantiate(bullet, transform.position, transform.rotation);
}
0表示为鼠标左键
在Update()中一直检测是否有鼠标左键的操作
任务17:给子弹施加初速度
在bullet的prefab上添加Rigidbody
if(Input.GetMouseButtonDown())
{
GameObject bulletClone = GameObject.Instantiate(bullet,
transform.position, transform.rotation);
Rigidbody rgd = bulletClone.GetComponent<Rigidbody>();
rgd.velocity = transform.forward * speed; // direction * speed
}
得到bullet的Rigidbody组件,设置其velocity
speed在最开始的时候设置为 public int speed; 并设置为20
运行游戏发现环境偏白,在Directional Light中将Light组件的Intensity改为0.7(环境光)
任务18:控制相机的左右移动
现在已经实现了子弹的发射和打砖块的功能,但是如果想要移动视角的位置在不同地方发射子弹呢?
1. 不同脚本负责不同功能,Movement.cs用于控制相机的移动,attached to Main Camera
2. speed当前设置为3
// 检测水平方向键,如果按下会返回对应的数值
float h = Input.GetAxis("Horizontal");
// 根据h的值来移动物体: h的正负决定着Translate的方向
// 没有乘以Time.deltaTime的时候表示每帧移动一米, 一秒大概有60帧(fps)
// 乘以Time.deltaTime表示每一帧的时间间隔,如一秒50帧,则deltaTime为1/50秒
// 变为一米每秒的速度
transform.Translate(new Vector3(h, , ) * Time.deltaTime * speed);
任务19:课程结束
控制相机的上下移动
在Movement.cs脚本中
float v = Input.GetAxis("Vertical");
transform.Translate(new Vector3(, v, ) * Time.deltaTime * speed);
游戏运行画面

Siki_Unity_1-1_Unity零基础入门_打砖块的更多相关文章
- Siki_Unity_1-3_Unity零基础入门_古迹探险
1-3 Unity零基础入门 古迹探险 任务1/2:资料下载 链接:https://pan.baidu.com/s/1jHVymNk 密码:rbob 任务3:工程的创建和打开 Project:古迹探险 ...
- [转]小D课堂 - 零基础入门SpringBoot2.X到实战_汇总
原文地址:https://www.cnblogs.com/wangjunwei/p/11392825.html 第1节零基础快速入门SpringBoot2.0 小D课堂 - 零基础入门SpringBo ...
- 小D课堂 - 零基础入门SpringBoot2.X到实战_汇总
第1节零基础快速入门SpringBoot2.0 小D课堂 - 零基础入门SpringBoot2.X到实战_第1节零基础快速入门SpringBoot2.0_1.SpringBoot2.x课程介绍和高手系 ...
- 从零基础入门JavaScript(1)
从零基础入门JavaScript(1) 1.1 Javascript的简史 1995年的时候 由网景公司开发的,当时的名字叫livescript 为了推广自己的livescript,搭了j ...
- 【JAVA零基础入门系列】Day4 变量与常量
这一篇主要讲解Java中的变量,什么是变量,变量的作用以及如何声明,使用变量. 那么什么是变量?对于初学者而言,可以将变量理解为盒子,这些盒子可以用来存放数据,不同类型的数据需要放在对应类型的盒子里. ...
- 零基础入门Python实战:四周实现爬虫网站 Django项目视频教程
点击了解更多Python课程>>> 零基础入门Python实战:四周实现爬虫网站 Django项目视频教程 适用人群: 即将毕业的大学生,工资低工作重的白领,渴望崭露头角的职场新人, ...
- Python3零基础入门学习视频+源码+课件+习题-小甲鱼
目录 1. 介绍 2. 目录 3. 下载地址 1. 介绍 适用人群 完全零基础入门,不需要任何前置知识. 课程概述 本系列教程面向零基础的同学,是一个深入浅出,通俗易懂的Python3视频教程. 前半 ...
- 函数:我的地盘听我的 - 零基础入门学习Python019
函数:我的地盘听我的 让编程改变世界 Change the world by program 函数与过程 在小甲鱼另一个实践性超强的编程视频教学<零基础入门学习Delphi>中,我们谈到了 ...
- Cloudera Manager、CDH零基础入门、线路指导 http://www.aboutyun.com/thread-9219-1-1.html (出处: about云开发)
Cloudera Manager.CDH零基础入门.线路指导http://www.aboutyun.com/thread-9219-1-1.html(出处: about云开发) 问题导读:1.什么是c ...
随机推荐
- mac使用brew安装配置常见测试工具
Homebrew 包管理工具可以让你安装和更新程序变得更方便,目前在 OS X 系统中最受欢迎的包管理工具是 Homebrew. 安装 在安装 Homebrew 之前,需要将 Xcode Comman ...
- <a>标签跳转到Servelet页面并实现参数的传递
<a>标签跳转到页面不能通过request.setAttribute()和getAttribute()方法获取参数. <a>标签只能通过request.getParameter ...
- linux VMware使用
contos7 配置网络 使用NAT模式连接本地网络 进入Linux机器配置网络 vi /etc/sysconfig/network-scripts/ifcfg-eth0 TYPE=EthernetP ...
- Window系统Oracle 安装
一:安装Oracle 数据库软件 1.先去官网下载所需文件:http://www.oracle.com/technetwork/database/enterprise-edition/download ...
- Crash for small compressed texture on some Android device
I created a full white texture with 4x4 size. Unity requires that compressed texture size should be ...
- python类的使用(类定义,构造器,类属性,方法)
注:这里只描述使用方法,具体类的概念长篇大论就不要为难我这个懒人了. 总之一句话编程语言只是一个工具,会用就行,好用就行.打破砂锅问到底,我觉得有必要研究一下C,汇编,电子链路等. class clt ...
- 设计四个线程,其中两个线程每次对j增加1,另外两个线程对j每次减1,写出程序
/* * 设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1.写出程序. */ public class ThreadTest { private int j; public sta ...
- linux 安装 node 环境
本篇学习的分享主要说在linux 安装 node 环境,个人也是在腾讯云的实验室课程学习的,这里只是个人的一个学习记录, 大家也可以去腾讯的实验室来体验一下,教程十分详细易学. 1 .安装 Node. ...
- shell基础知识---与监听服务器长连接端口状态
从未写过脚本我的最近接了俩脚本的需求,就在这分享一下我的我学到基础知识主要就四部分内容 一.变量 变量的定义 string='字符串' string="字符串" num=808st ...
- diff命令--比较两个文件的命令
可以使用 --brief 来比较两个文件是否相同,使用 -c参数来比较这两个文件的详细不同之处,这绝对是判断文件是否被篡改的有力神器,