41535人加入学习
(116人评价)
Unity零基础入门 - 打砖块(Unity 2017) - 旧版
价格 免费

在此案例中,游戏玩法是发射子弹来打砖块,这在脚本中实现。所以在脚本中要访问子弹的Prefab,这时用到的代码是:
        public GameObject 子弹;
        保存后回到Unity,Main Camera属性下的“发射子弹”脚本会多出一个可以拖拽赋值的小槽,名字是子弹,把小球(的Prefab)当成子弹,拖到此小槽释放,就可以通过脚本访问子弹的Prefab了。
    访问Prefab后,要对Prefab进行实例化,用到的脚本是:
        GameObject.Instantiate(子弹,transform.position,transform.rotation);
        Instantiate(实例化),会实例“子弹”这个Prefab的实例,并设定position(位置)和rotation(旋转)。
        注意,这里的位置(transform.position)和旋转(transform.rotation)是脚本所在游戏物体的位置和旋转,不是实例的位置和旋转。
        比如脚本挂载在相机下,那么创建实例并设定位置和选旋转后,实例的位置被设定为与相机的位置一样。(提醒自己不要像以前那样误解了。)
        
    那么在什么条件下实例化子弹呢?应该按下鼠标左键才发射子弹,所以需要给实例化添加一个条件:
        if(Input.GetMouseButtonDown(0))
        {
            GameObject.Instantiate(子弹,transform.position,transform.rotation);
        }
        意思是如果括号内的条件为真,就执行if方法,条件为假,就跳过。(Input.GetMouseButtonDown(0):在用户按下给定鼠标按钮的帧期间返回true。)

[展开全文]
yzt123 · 2018-10-11 · 该任务已被删除 0

新建的脚本默认会有两个方法:
    void Start ()    和        void Update    ()
    {                        {
        
    }                        }
    Start方法在Unity运行时执行一次,用来作初始化;Update方法在Unity运行后的每一帧都被调用,用来作更新。
    
    先来认识一个简单的代码:Debug.Log();
        它会在控制台打印日志输出,内容为括号内的相关参数。比如:
        void Start ()
        {
        Debug.Log("你好!Unity!");
        //Debug是一个类,Log是Debug下的方法,“.”表示调用。调用Debug这个类下面的Log方法。
        }
        这段代码表示它在Unity运行时执行一次,在控制台打印一条日志输出,内容为字符串“你好!Unity!”。
        Debug.Log常用来作调试代码。

[展开全文]
yzt123 · 2018-10-11 · 该任务已被删除 0

Unity中的C#脚本也是游戏物体的组件,在Project窗口创建C#脚本后,拖到游戏物体上释放,在Inspector窗口的组件列表就会新增这个C#组件,这样就可以通过C#控制游戏物体了。
    双击Project窗口的C#脚本,打开Visual Studio来编辑脚本。
    注意,每次编辑完脚本,都要保存(快捷键CTRL+S),回到Unity,软件界面右下角会出现一个圈圈,代表此脚本正在Unity中调试,确认脚本无语法错误后才能运行游戏。
    如果脚本有错误,左下角会出现红色或黄色的报错信息,点击它会打开Console(控制台),在此查看报错信息详情,双击报错信息将在Visual Studio中定位导致Unity报错的代码。

[展开全文]
yzt123 · 2018-10-11 · 该任务已被删除 0

Prefab对于有较多重复游戏物体的工作很有帮助,比如本案例打砖块中,有很多相同的砖块,也有很多相同的“子弹”,制作墙体和子弹这两个Prefab就可以了,大大简化工作量。

[展开全文]
yzt123 · 2018-10-11 · 该任务已被删除 0

Unity中,长度计量以米为单位。
此案例中用到的快捷键:
选中方块“Cube”,按下“CTRL+D”来复制。
选中方块,选中工具Move Tool,按住CTRL,再用鼠标拖动轴,方块会以1米为单位移动。
按住CTRL期间,鼠标左键点击过的游戏物体都会被选中。
在Hierarchy(层级)窗口中,先点击一个游戏物体,再按住SHIFT点击另一个游戏物体,那么这两个以及它们之间的游戏物体都会被选中。

在Scene(场景)窗口中,先点击一个游戏物体,再按住SHIFT点击另一个游戏性物体,只有这两个游戏物体被选中,效果等同于CTL。

Prefab(预制):预制体相当于模板。
把一个Hierarchy窗口的游戏物体拖到Project窗口释放,就生成该游戏物体的预制体。
把预制体拖到Scene窗口或者Hierarchy窗口,可生成该预制体的实例,在Hierarchy窗口可以看到实例的名字颜色是蓝色,表明该实例是由预制体生成的。
实例的属性继承预制体的属性,当预制体的属性改变,实例会作相应的改变。
另外,实例的属性改变后,点击“Apply”,预制体的属性做出相应的改变。

[展开全文]
yzt123 · 2018-10-11 · 该任务已被删除 0

制作预制体:

[展开全文]
Deacon · 2018-08-24 · 该任务已被删除 0

添加游戏物体“Plane”(地面)(Hierarchy窗口),添加资源“Material”(材质)(Project工程窗口),拖拽Material到Plane处释放,则此材质赋值到Plane.MeshRenderer.Materials.Element 0,替换掉Default-Material。

[展开全文]
yzt123 · 2018-10-11 · 该任务已被删除 0

Scene(场景)(Scene窗口)-GameObject(游戏物体)(Hierarchy窗口)-Component(组件)(Inspector窗口)。
Inspector窗口中组件的勾勾有什么用?打勾表示启用该组件,取消打勾表示禁用该组件。SIKI老师的理解是:只具有储存属性功能的组件无所谓打钩与否,而具有功能的组件可以被启用和禁用。

[展开全文]
yzt123 · 2018-10-11 · 该任务已被删除 0

Move Tool控制游戏物体的Position(位置),Rotate Tool控制游戏物体的Rotation(旋转),Scale Tool控制游戏物体的Scale(比例、规模、缩放)。
Pivot(枢):该游戏对象(不包括子对象)的中心。
Center(中央):该游戏对象(包括子对象)的中心。
Global(全球):世界坐标系。
Local(本地):局部坐标系。

[展开全文]
yzt123 · 2018-10-08 · 该任务已被删除 0

操作视野是在Scene窗口进行的。
选中“Hand Tool”(快捷键Q)情况下,鼠标箭头变成“小手”,按住鼠标左键移动来平移视野。
按住鼠标右键,鼠标箭头变成“小眼睛”,移动鼠标模仿第一人称视角。
按住鼠标中键,鼠标箭头变成“小手”,移动鼠标来平移视野。
滚动鼠标中键,控制视野放大缩小。
双击Hierarchy窗口中的某一游戏物体,视野会聚焦它,表现为将游戏物体放在眼前。
按住“ALT”不放,鼠标箭头变成“小眼睛”,按住鼠标左键,移动鼠标,视野围绕某一点环绕观察,当聚焦某一游戏物体后,ALT+鼠标左键可以无死角观察游戏物体。
按住“ALT”不放,鼠标箭头变成“小眼睛”,按住鼠标右键,移动鼠标,视野放大或缩小,作用同鼠标滚轮。
视图分为Perspective(透视)和ISO(正交),两种模式下的视野操作有一点不同:透视视图下按住鼠标右键移动来做第一人称视角控制,正交视图下按住鼠标右键移动则是视野围绕屏幕环绕观察,同透视视图下的按住ALT在按住鼠标右键移动。

[展开全文]
yzt123 · 2018-10-08 · 该任务已被删除 0

Scene属于Assets,所以在project(工程)窗口显示。Scene意为场景,Scene由游戏物体组成,游戏物体在Hierarchy(层级)窗口和Scene(场景)窗口被编辑,在Inspector(属性、检视)窗口被修改属性。
修改了任意的游戏物体,Hierarchy窗口的Scene会出现一个小星星“*”,意为未保存,按下快捷键“CTRL+S”可以快速保存做出的修改,然后小星星消失。

[展开全文]
yzt123 · 2018-10-08 · 该任务已被删除 0

Scene窗口:场景窗口。编辑游戏物体。
Game窗口:游戏运行时窗口。以相机的视角观察运行时的游戏世界。
Project窗口:工程窗口。在此窗口编辑“Assets”文件夹的文件。
Hierarchy窗口:层级窗口。Scene窗口的游戏物体在这里被分层排列。
Inspector窗口:属性窗口。用于编辑游戏物体的属性。

[展开全文]
yzt123 · 2018-10-08 · 该任务已被删除 0

Assets资源、Library库、ProjectSettings工程设置、Temp临时文件。

[展开全文]
yzt123 · 2018-10-08 · 该任务已被删除 0

alt+鼠标右键,观察物体

ctrl+d  

[展开全文]
鼎小利 · 2018-08-21 · 该任务已被删除 0

ctrl+n    

[展开全文]
鼎小利 · 2018-08-21 · 该任务已被删除 0

Inspector 属性

project 工程

Hierarchy 层级

Scene 场景

 

[展开全文]
文俊 · 2018-08-17 · 该任务已被删除 0

rigidbody钢体

ctrl+拖动 以米为单位拖拽

[展开全文]
逆序世界 · 2018-08-15 · 该任务已被删除 0

有作用有显示,在物理上的作用,才会有显示隐藏的功能,而没有显示隐藏的都是信息储存的组件。

信息组件:

功能组件:

[展开全文]
默安 · 2018-08-11 · 该任务已被删除 0

控制子弹的生成

首先定义物体

public Gameobject bullet

[展开全文]
孔第颜回 · 2018-08-11 · 该任务已被删除 0

脚本的基本结构

start        update

Debug.Log("--hello unity!");用于进行错误调试

表示在控制台打印Hello unity!字符串

控制台可在window中打开

注意  代码都是用英文写的!1

 

 

[展开全文]
孔第颜回 · 2018-08-11 · 该任务已被删除 0

授课教师

SiKi学院老师

课程特色

图文(2)
下载资料(1)
视频(19)