Unity官方案例——Roll a ball

本文是Unity3d初学者的学习笔记,详细介绍了如何基于Unity的Roll a Ball官方案例创建游戏,包括创建工程、环境搭建、游戏逻辑和UI控制。作者通过一步步的指导,展示了从创建地面、添加材质、设置墙和摄像机,到添加Player和Pick Up,再到编写控制脚本的过程,帮助读者理解Unity3d的基本操作和游戏开发流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

诶呀,图片加载出了点问题!
现在的我还是一名 Unity3d 游戏开发初学者,所以现在都在围绕 Unity3d 的官方案例来做练习,为此写下一些文章作为笔记,文章中难免会有一些疏漏,有些不当之处还望指正。

项目简介

首先玩家可以控制一个小球,去吃那些悬浮在平面上的小方块,全部吃玩就游戏结束了,是一个很简单的小游戏。

创建工程

首先我们创建一个空的工程

诶呀,图片加载出了点问题!

环境搭建

创建地面

在 Hierarchy 界面中右键选择 3D Object 中的 Plane 创建一个地面,其中将他 Inspector 界面中的 Scale(X:2,Y:1,Z:2)使地面扩大一下,这里需要让大家养成一个好的习惯就是物体的需要命名并且要有意义,所以我将我们的 Plan物体名改为 Ground。

诶呀,图片加载出了点问题!

给地面添加材质

但由于这地面太白了,再加上默认的灯光效果很亮表现得很刺眼,所以我给地面添加了一个黑色的材质,这里有需要大家养成一个文件分类的好习惯,所以我在我们的 Assets 文件夹中新建了一个 Materials 文件夹用来存放我们需要用到的材质文件,选中 Materials 文件夹后右键选择 Create 选项中选择 Material 就可以创建一个材质文件了,我将它改名为 Ground,其中在他的 Inspector 界面中将 Main Maps 中的 Albedo 的颜色调整为黑色,最后只需将这个材质文件拖到我们场景中的地面上即可。

诶呀,图片加载出了点问题!

添加墙

在 Hierarchy 界面中右键选择 3D Object 中的 Cube 来创建四周的墙,其中在它们的 Inspector 界面中都设置 Scale(X:21,Y:1,Z:1),它们的位置分别设置为

Wall[Positon(X:0,Y:0,Z:10)],

Wall1[Positon(X:0,Y:0,Z:-10)],

Wall2[Position(X:10,Y:0,Z:0),Rotation(X:0,Y:90,Z:0)],

Wall3[Position(X:-10,Y:0,Z:0),Rotation(X:0,Y:90,Z:0)]

这里又有一点需要大家养成的习惯就是若有相同的物体应该创建一个空的物体将他们都存放在你里面,所以我在 Hierarchy 中创建了一个空的物体改名为 Walls 将这四个墙存放在其中。

诶呀,图片加载出了点问题!

设置摄像机

选择我们场景中的 Main Camera 设置它的 Position(X:0,Y:10,Z:-10),Rotation(X:45,Y:0,Z:0)即可。

诶呀,图片加载出了点问题!

添加 Player

在 Hierarchy 界面中右键选择 3D Object 中选择 Sphere 将它改名为 Player,设置它的 Position(X:0,Y:0.5,Z:0)

诶呀,图片加载出了点问题!

添加 Pick Up

在 Hierarchy 界面中右键选择 3D Object 中选择 Cube 将他改名为 Pickup ,其中几个比较关键的设置是 Position 的y的值最好要大于1因为过低 他会卡在地面里,Rotation(X:45,Y:45,Z:45),还有一个特别关键的就是将 Box Collider 中的 Is Trigger 勾上,它的作用是做触发器,简单来说就是就是当两个物体发生碰撞不产生碰撞效果,但会触发碰撞事件(如果还不能理解,自己在 Unity 中实验一下),然后就是多创建几个 Pick Up 位置你们随便放,不过这里也有一个方法方便我们创建多个相同的物体并且还可以同步之后需要更改的设置,那就是创建 Prefab。我们在 Assets 文件夹中创建一个 Prefabs 文件夹,将我们创建的 Pickup物体拖至此文件夹,当我们看到 Pickup 物体的名称变蓝后,这就意味着我们的 prefab 创建完成,当我们需要创建 Pickup 物体时,现在只需将 prefab 中的 Pickup 拖至我们的场景中即可创建,然后就是创建一个空的物体改名为 Pickups 用来存放我们创建的 Pickup 。

诶呀,图片加载出了点问题!

在 Inspector 界面中找到 Tag 选项后单机再选择选项中最下方的 Add Tag… 后会来到我们的 Tags & Layers 界面,在下方会看见一个 + 标志后单机在输入框中输入 PickUp 后选择 Save 后即可添加标签

诶呀,图片加载出了点问题!

添加 UI

在 Hierarchy 界面中右键选择 UI 后再选择 Text 选项就可以添加我们的 UI 了,我们将创建出来的 Text 文件改名为 CountText,我们可以在 Inspector 界面中的 Text(Script) 中调整文字内容、字体、字体大小、颜色等多种属性,我们必须要做的是将文本默认的内容给删掉就行了,其他的设置看自己喜好了,但我们要将它至于界面的左上角该如何操作呢?我们可以在 Rect Transform 中看到一个田字格,我们单机一下它就会出现很多位置选项,但是并没有我们所需要的左上角,这时候我们只需要一直按住键盘上的 Alt 键就会发现上面的位置选项发生了变化,之后就可以很明显的看到左上角的选项然后我们选择它就可以了,然后在 Canvas 文件夹下在创建一个 Text 改名为 WinText 用来存储我们的胜利文本的,也要将文本内容删去,位置居中默认就行了,其他设置自定义。

诶呀,图片加载出了点问题!

游戏运行

从这儿起就要开始我们的脚本编写了,现在 Unity3D 主流脚本编辑语言是 C#,不过像我现在用的 Unity 3D 2018.2的版本脚本语言只剩下了 C#,所以推荐大家写脚本还是用 C# 来编写,学过的朋友理解起来就很方便了,没学过的朋友可以从网上找找相关教学视频了解一下,不过有一点编程经验的其实理解起来还是很简单的,我会在下面脚本中写下相应注释的,方便一些初学者理解的。

Unity官方有一个脚本文档,在遇到什么不懂得问题或者需要完成什么操作脚本忘了怎么写时可以进行查阅。

Unity官方脚本文档

Player 的移动

选择我们的 Player 物体文件,在 Inspector 的下方点击 Add Component 在其中的输入框中输入 Rigidbody 回车确定选择,即可给我们的 Player物体添加刚体组件,刚体组件的用处就是给物体添加物理属性的,其中我们将 Angular Drag 的值改为0,意思是取消小球的摩擦力。

诶呀,图片加载出了点问题!

还是点击 Add Component 在输入框中输入 PlayerController 选择 New script 再点击下方的 Create and Add 即可给我们的 Player 挂载脚本了,然后我在

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值