Unity-3D游戏开发套件指南(入门篇)-免费资源(1)

  • 在层级窗口选中DoorSmall对象,查看检视窗口。

  • 点击Simple Translator组件上的箭头图标,折叠组件信息。

这样就只会显示对象的Transform工具,使用Transform工具来放置DoorSmall 对象。

现在我们添加压力板:

  • 在项目窗口中,打开Prefabs > Interactables。

  • 找到PressurePad 对象并点击拖入场景视图中。

  • 使用Transform工具将其放到门口附近。

现在将PressurePad和DoorSmall连接起来,从而在Ellen踩到压力板的时候,大门会打开。

  • 在层级窗口点击选中PressurePad对象。

  • 在层级窗口中,点击拖拽DoorSmall对象到PressurePad对象上Send on Trigger Enter 组件的Interactive Object(交互对象)属性栏中。

这时在场景视图中,会出现一个白色带箭头的线,显示PressurePad和DoorSmall之间的连接关系。

点击Play,当Ellen踩上压力板时,压力板会发光,下降并使门口打开。

敌人对象

在开发套件中,有三个预制敌人对象Chomper、Spitter和Grenadier。它们可以在Prefabs > Characters > Enemies > [……]目录下找到。

Chomper是个近战敌人;Spitter是远程敌人,能造成远距离伤害;Grenadier是Boss级敌人,有着特别的攻击模式,混合着远程伤害、近战伤害和盾形防御三种行动方式。

首先将Chomper放入场景中,与Ellen交战:

  • 在项目窗口中,打开Prefabs > Characters > Enemies > Chomper。

  • 将Chomper拖入场景视图中。

  • 使用Transform工具来移动Chomper的位置。

在Chomper前会出现一个大型深蓝色半圆,这是它的探测半径(Detection Radius)。当Ellen走入这个区域中时,Chomper会追逐并攻击Ellen。

现在我们减少Chomper的视野区域,在层级窗口中选中Chomper对象。

  • 在检视窗口中,找到Chomper Behaviour 组件。

  • 点击Player Scanner (玩家扫描器)旁的小箭头展开它。

  • 将Detection Radius的数值设为3。

现在要让Chomper只能看到前方的物体:

  • 拖动Detection Angle(探测角度)滑块,将数值设为180。

现在Chomper只能看到它前方的物体,能看到的距离也更短了。

注意:如果想要从场景视图中移除这个辅助图示,折叠Chomper Behaviour 组件即可。

  • 点击Play,让Ellen在Chomper附近奔跑。

Chomper会探测到Ellen,但只会原地跑动。我们要告诉Chomper它所能移动的地方,于是我们加入NavMesh Surface(寻路网格面)。

  • 在层级窗口中点击Plane对象。

  • 在检视窗口中,点击Add Component,搜索NavMeshSurface。

  • 在脚本上点击键盘的回车键,添加组件到Plane对象上。

  • 找到NavMesh Surface组件,设置Agent Type(代理类型)为Chomper(这对所有敌人类型都适用)。

  • 设置Include Layers(包含图层 )为Nothing(无),选择Environment(环境),选择Vegetation(植被)。

  • 在NavMesh Surface 组件底部,点击Bake(烘焙)。

这时会在地面上出现一个浅蓝色表面,它指明场景中的敌人所能移动的位置。

点击Play,移动到Chomper面前,Chomper现在会追着你并进行攻击,左键点击并使用道具进行攻击。

Chomper会在受到一次攻击后死亡。如果想要提高攻击次数:

  • 在层级窗口中,选中Chomper。

  • 在检视窗口找到Damageable组件。

  • 根据你想要Chomper死前所能承受的伤害,提高Max Hit Points(生命值上限)。Ellen的道具每次造成一点伤害。

造成对象伤害

我们可以使用接触伤害源(Contact Damager)组件来对拥有Damageable 组件的对象造成伤害。

在此使用一个箱子和Chomper进行演示:

  • 在项目窗口中,打开Prefabs > Interactables。

  • 找到DestructibleBox 预制件,点击拖入场景视图中。

  • 使用平移工具将箱子放在Chomper上方。

点击Play,箱子会下落到在Chomper上,然后呆在那里,什么都没发生。

注意:不要离Chomper太近,否则它会追逐Ellen。你可以降低它的探测半径为0。

我们想要箱子在砸到Chomper时造成伤害。

  • 在层级窗口中点击DestructibleBox 旁的箭头,展开其子对象。

  • 选中DestructibleBox子对象。

  • 查看检视窗口移至检视窗口底部,点击Add Component,搜索Box Collider。

  • 按下键盘上的回车键或是点击Box Collider组件将其添加到DestructibleBox对象上。

  • 在Box Collider组件上,勾选Is Trigger 属性。

  • 点击Add Component,搜索Contact Damager(接触伤害源)。

  • 点击键盘上的回车键或是点击Contact Damager脚本将其作为组件加入对象。

  • 在Contact Damager组件上,将Amount(伤害量)设为3,要注意伤害量必须与Chomper的Max Hit Points数值相等,从而使Chomper受到足够的伤害。本例中我们设为3,请记得检查Chomper的Damageable 组件上的Max Hit Points。

  • 设定Damaged Layers (伤害图层)为Enemy。

按下Play,箱子会落到Chomper上,Chomper会丢失生命值,然后转变为布娃娃(ragdoll)状态,而箱子则会弹开。

我们已经成功对Chomper造成足够伤害并击杀,但这个效果看起来不够好。我们可以让箱子在砸中Chomper时裂开。箱子上已经有接触伤害源,所以我们要对其进行调整使它也会影响箱子自身。

  • 查看层级窗口,找到Chomper并选中。

  • 查看检视窗口,点击Add Component ,搜索Contact Damager。

  • 按下键盘上的回车键或点击脚本名,将其添加到Chomper上。

  • 在Contact Damager组件上将Amount 设为1。

  • 在Damaged Layer属性下拉列表中选中Enemy。

按下Play箱子会砸到Chomper上,并在碰撞时破裂,让Chomper丢失所有生命值并转为布娃娃状态。

装饰

在开发套件中,我们提供了在构建示例游戏中所使用的所有环境对象,它们被分散到多个不同资源类型的文件夹中。请查看这些文件夹,开始构建出自己的场景,你可以在Prefabs > Environment > [….]目录下找到它们。

你会创建出怎样的世界呢?

我们需要为敌人对象重新烘焙NavMesh,使它们知道哪些是新增的可移动平面,或是让它们知道要避免哪些对象,例如:大型植物。

  • 在层级窗口中选中Plane。

  • 查看检视窗口,在NavMesh表面点击Bake。

石块和植被绘画器

为了进一步装扮场景,我们创建了一个石头绘画器和植被绘画器。这些工具能让你以多种大小和旋转方向放置植被和石块,并使它们与所放置的平面对齐。

如果要使用这些工具,在层级窗口找到VegetationPainter,点击小箭头来展开子对象。

点击GroundCover,将鼠标移到场景视图中的平面上,左键点击放置一些草被或睡莲。

你可以修改放置对象的类型,查看检视窗口在Instance Painter组件中,有绘画器中每个预制件的图片。

点击白色高亮方框,选中要绘制的预制件,被选中的预制件会变为灰色。

我们可以在Instance Painter组件顶部的方框中找到绘画器的操作说明,这里介绍一些简单操作:

  • 左键点击 = 绘图

  • Ctrl (Cmd) + 左键点击 = 删除

  • Alt + 滚轮 = 调整笔刷大小

  • 空格键 = 随机设置位置和旋转角度

我们绘制的任意对象会保存为子对象。例如:查看层级窗口,展开GroundCover。所绘制的类型对象都会保存其为子对象。我们可以点击它们来单独编辑和放置。

这个过程和绘制VegetationSmall、VegetationMedium和VegetationLarge的过程一致。

我们可以用同样的方法绘制石块,在层级窗口中找到RockPainter,点击小箭头展开子对象,点击RocksSmall,将鼠标移动到想要的位置并点击左键放置石块。

传送玩家

在3D游戏开发套件中,我们有一个传送系统。可以将Ellen传送到其它关卡,或是场景中的不同位置。

首先在场景中创建传送器,在项目窗口中,打开Prefabs > Structures找到GateWayHugeTeleporter。

从名字可以看出这个入口很大:

  • 使用缩放工具和平移工具定位并缩放这个对象为Ellen的大小。

  • 在层级窗口中展开GatewayHugeTeleporter ,暴露其子对象,选TeleportPlane。

  • 查看检视窗口,点击Add Component,搜索BoxCollider。

  • 按下键盘上的回车键或是点击BoxCollider 来添加组件到TeleportPlane对象上。

  • 在Box Collider 组件上勾选Is Trigger。

  • 点击Add Component,搜索Teleporter。

  • 按下回车键或是点击Teleporter脚本来将其添加到TeleportPlane对象上。

  • 在Teleporter 组件上,将Layer(图层)改为Player(玩家)。

  • 在层级窗口上,找到Checkpoints对象。

  • 点击Checkpoint 对象旁边的箭头展开其子对象。

  • 在层级窗口选中TeleporterPlane 。

  • 将子对象Checkpoint对象拖入Teleporter 组件的Destination Transform属性栏。

  • 在层级窗口找到并展开Ellen,显示其子对象,找到RespawnParticles对象。

  • 在层级窗口上选中GateWayHugeTeleporter 。

  • 将RespawnParticles 拖到Teleporter组件的Enter Effect(进入特效)属性栏中。

最后

最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上相关的我搜集整理的24套腾讯、字节跳动、阿里、百度2019-2021BAT 面试真题解析,我把大厂面试中常被问到的技术点整理成了视频和PDF(实际上比预期多花了不少精力),包知识脉络 + 诸多细节。

还有 高级架构技术进阶脑图 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

Android 基础知识点

Java 基础知识点

Android 源码相关分析

常见的一些原理性问题

希望大家在今年一切顺利,进到自己想进的公司,共勉!
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!
ibG9nLmNzZG4ubmV0L3FxXzI3NDg5MDA3,size_16,color_FFFFFF,t_70)

  • 在层级窗口上选中GateWayHugeTeleporter 。

  • 将RespawnParticles 拖到Teleporter组件的Enter Effect(进入特效)属性栏中。

最后

最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上相关的我搜集整理的24套腾讯、字节跳动、阿里、百度2019-2021BAT 面试真题解析,我把大厂面试中常被问到的技术点整理成了视频和PDF(实际上比预期多花了不少精力),包知识脉络 + 诸多细节。

还有 高级架构技术进阶脑图 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

Android 基础知识点

Java 基础知识点

Android 源码相关分析

常见的一些原理性问题

[外链图片转存中…(img-tcyOdQR9-1714962118143)]

希望大家在今年一切顺利,进到自己想进的公司,共勉!
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

  • 27
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值