11.创建初始拥有物品的背包
1.打开Suspenders 预制体
2.在CharacterInventory组件面板,设置AutoPick items为3,handgun ammo为10,assault rifle为 1,assault rifle ammo为10
3.在AutoEquipWeaponOnStart属性拖上Handgun
4.打开Loft3D场景,按播放,你现在拿着handgun ,按T,你现在有assault rifle
12.创建有伤害和无伤害的子弹
1.打开MinimalScene3D 场景
2.选择MinimalCharacter 预制体,CharacterHandleWeapon上拖动AssaultRifle 预制体
3.在场景上,选择Border节点 (Level/Models/), 设置位置y 值为0.5
4.在它上面你会发现两个反馈,HitDamageable和DebugLog,设置debug message为“hit damageable”
5.保存预制体,返回场景
6.创建新的cube,设置位置(3.5,1,-8),添加Health 组件,layer改为Enemies
7.按下播放,射击cube,再射击walls,你会看到不同的日志在console
13.设置weapon model enabler
1.打开Koala 预制体,创建一个空物体在子节点,命名TestWeaponModel,添加SpriteRenderer,设置sprite 为HornyBlue_0,sorting为Characters,order为1,位置( 0,2,0)
2.添加animator 组件,设置controller 为HornsBlueAnimator
3.添加MMAnimatorMirror组件,设置SourceAnimator 为KoalaModel 的animator,TargetAnimator 为自身的animator
4.禁用TestWeaponModel 节点
5.在Koala节点添加WeaponModelEnabler组件,设置Bindings size为1,拖上TestWeaponModel,WeaponAnimationID为10
6.选择KoalaRifleAmmoBased 预制体,打开AnimationParametersName属性,设置WeaponAnimationID 为10,设置StartAnimationParameter 为SwordAttack
7.打开Koala的KoalaAnimatorController动画状态机,添加SwordAttack 的bool参数
8.打开KoalaDungeon 场景,按下播放,拾取assault rifle,蓝色怪物模型就出现了
9.射击,蓝色怪物将攻击
14.设置触碰受伤
1.打开MinimalScene3D场景
2.创建cube,位置(-5,0,-5)
3.设置box collider为trigger
4.添加DamageOnTouch组件, 设置TargetLayerMask为Player, DamageCausedKnockbackForce 为(20,20,0)
5.按下播放,走向cube,你和它碰撞时会被击退
15.创建一个简单的、像炮塔一样的旋转AI
1.打开MinimalScene3D场景
2.创建空物体,命名Test
3.在它节点下创建cube命名Model
4.在Test节点添加Character ,按下Autobuild AI Character 3D 按钮,拖动Model到CharacterModel里面
5.在CharacterOrientation3D取消勾选ShouldRotateToFaceWeaponDirection, 勾选 ForcedRotation, 绑定Model 到 MovementRotatingModel, 设置RotationMode为 MovementDirection
6.在Test上, 添加 AIBrain, AIActionDoNothing, AIDecisionDetectTargetRadius3D和 AIActionRotateTowardsTarget3D组件
7.AIDecisionDetectTargetRadius3D 组件设置TargetLayerMask为Player
8.AIActionRotateTowardsTarget3D组件勾选LockRotationX
9.AIBrain组件创建新的state,叫Wait,设置action为AIActionDoNothing ,transition’s decision为AIDecisionDetectTargetRadius3D,TrueState 为Rotate
10.创建第二个state,叫Rotate,设置Action为AIActionRotateTowardsTarget3D
11.按下播放,享受你的小AI吧
16.创建一个简单的人工智能,将旋转跟随玩家
1.打开MinimalScene3D场景
2.创建空物体叫MyChar,位置( 0,0,0)
3.创建cube,在MyChar节点下,位置( 0,0,0),命名MyModel
4.在MyChar节点添加Character ,按下Autobuild AI Character 3D 按钮
5.在CharacterOrientation3D绑定MyModel到 MovementRotatingModel, 设置RotationMode为 MovementDirection
6. 添加 AIBrain, AIDecisionDetectTargetRadius3D,AIActionMoveTowardsTarget3D和 AIActionRotateTowardsTarget3D组件
7.AIBrain组件创建新的state,叫Move,添加Transition,设置decision为DetectTargetRadius,TrueState 为Move
8.创建第二个state,叫Move,没有Transition,设置Action为AIActionMoveTowardsTarget3D和AIActionRotateTowardsTarget3D
9.AIDecisionDetectTargetRadius3D的TargetLayerMask 为Player
10.按下播放,移动过去,AI会旋转跟随目标
17.创建2D视锥驱动的AI
1.打开KoalaDungeon场景
2.选择ninja ,右键unpack it completely
3.重命名为NinjaWithCone ,选择ConeOfVision ,复制它
4.打开NinjaWithCone 预制体,粘贴ConeOfVision 为它的子节点,位置(0,0,0)
5.删除ninja的AIDecisionTargetRadius2D组件
6.添加MMConeOfVision2D组件, 设置ObstacleMask为Obstacles, TargetMask为Player, 拖动ConeOfVision到VisionMeshFilter
7.添加AIDecisionDetectTargetConeOfVision2D组件, 在 AIBrain, 改变第一个State’s transition’s decision为AIDecisionDetectTargetConeOfVision2D
8.按下播放,走进Ninja的圆锥体,注意到它获得了玩家作为目标,并开始攻击它
如果你也想让圆锥体移动,额外步骤:
1.添加AIActionRotateConeOfVision2D组件
2.添加AIActionMoveRandomly2D组件
3.在AIBrain的第一个state, 替换action (AIActionDoNothing) 为AIActionMoveRandomly2D, 第二个action为AIActionRotateConeOfVision2D
18.创建命中扫描武器
1.打开KoalaDungeon场景
2.创建空物体叫TestHitscan
3.在它的子节点下创建空物体叫Model, 添加SpriteRenderer, 设置sprite为Koala_Weapons_Rifle, SortingLayer为Above
4.TestHitscan上添加HitscanWeapon组件, 在HitscanSpawn下设置projectile spawn offset为(0.8, 1,0)
5.在Hitscan下, 设置Mode为TwoD, HitscanTargetLayers为Enemies, Obstacles
6.添加WeaponAim2D组件, 设置AimControl为Mouse, WeaponRotationSpeed为0
7.拖动TestHitscan为预制体, 在场景出删除它
8.选择Koala预制体, 拖动TestHitscan到CharacterHandleWeapon的InitialWeapon
9.按下游戏,你现在使用一种武器,可以直线瞄准敌人/陶罐(现在你可以开始研究它的反馈,让它感觉更好!)
19.创建角色模型切换的能力
1.打开MinimalScene2D 场景
2.打开MinimalCharacter2D 预制体
3.创建空物体叫AltModel在它的节点下, 添加SpriteRenderer, 设置Sprite为Adventurer_0, t位置为(0,0.4,0),禁用物体
4.MinimalCharacter2D上添加CharacterSwitchModel
5.在CharacterModels 上,将MinimalCharacterModel 和AltModel拖上去
6.保存预制体,按下播放,你可以按p切换角色了
20.创建一个新的加载屏幕
1.复制LoadingScreen场景, 命名NewLoadingScreen
2.添加到build settings里面
3.打开它,选择主摄像头,然后在其摄像头组件上,让我们将背景颜色更改为一些红色
4.保存场景
5.打开Minimal2DDoors1场景, 在LevelManager, 设置 LoadingSceneName为NewLoadingScreen
6.按播放,向上/右穿过绿色门,然后右移动,直到看到蓝色门,进入它(按空间),注意我们正在使用新创建的加载屏幕加载新场景