五.秘籍
1.介绍
想要快速开始使用TopDown Engine吗?这个页面包含了简单的步骤,您可以遵循一些基本的情况,没有解释,只是快速的步骤。不要犹豫地查阅其余的文档,以了解更多关于引擎是如何工作的!注意,其中大多数将提供TDE/Unity版本,这只是为了提供它们首先编写的上下文。但可以肯定的是,他们应该同样可以使用在Unity和TDE的任何更高版本。
2.创建一个基本的3D敌人
1.更新安装Unity2019.3.3f1
2.导入TopDown Engine
3.打开Loft3D 场景
4.创建一个空物体设置坐标(-9.5,1.5,0)
5.创建一个正方体缩放为(2,2,2),位置在空物体下面
6.重命名空物体为Test
7.在Test上添加Character组件
8.按下Autobuild AI Character 3D按钮
9.在Character视图,设置CharacterModel 为正方体
10.按下开始游戏,抓住你旁边的猎枪,享受吧
3.建立一个武器模型
1.打开Colonel 场景
设置武器模型:
1.在其HandR节点下,创建一个空对象,将其命名为MyWeoponModel
2.添加一个WeaponModel 组件,将其WeaponID 设置为MyWeapon
3.在它下面,创建一个新的立方体,删除它的 box collider,将其比例设置 为 0.003,0.003,0.003
4.在MyWeapon的WeaponModel面板上,将立方体拖动到TargetModel
5.按下播放,注意立方体消失了,这很正常,它的武器没有装备
设置武器:
1.复制Loft3D的AssaultRifle预制体,命名为MyWeapon
2.在其ProjectileWeapon的ID部分,将WeaponName设置为 MyWeapon
3.打开这个新的预制体,删除它的ModelContainer节点和它下面的所有内容,也删除反馈
4.清除ProjectileWeapon的动画器和动画参数名称
5.在其顶层删除动画器
6.保存预制体,并根据Colonel的CharacterHandleWeapon,指定它作为它的初始武器
7.按下播放,你现在有了一个不错的立方体子弹
4.创建一个基本的2D可玩角色
1.更新安装Unity2019.3.3f1
2.导入TopDown Engine
3.打开Minimal2D 场景
4.创建一个空物体设置坐标(40,-20,0),取名Test
5.创建一个新的精灵对象,将其精灵设置为Adventurer_0,设置图层为Characters,在Test下,设置坐标为(0,0,0)
6.在Test上添加Character组件
7.按下AutoBuild Player Character 2D按钮
8.拖动NewSprite到CharacterModel
9.CharacterOrientation2D的facing mode设置为MovementDirection,Model Should Flip打勾
10.打开Koala 预制体,复制footsteps 节点
11.粘贴在你的场景中
12.在Test的节点下,坐标(0,0,0)
13.按下播放
5.创建一个基本的3D可玩角色
1.打开Minimal3D 场景
2.创建一个空物体设置坐标(0,0,0),取名Test
3.在它下面,创建一个新的立方体,删除它的 box collider,将其坐标设置 为 (0,0,0)
4.在Test上添加Character 组件
5.按下AutoBuild Player Character 3D按钮
6.拖动立方体到Character组件的CharacterModel 上
7.在CharacterOrientation3D下, 设置Rotation Mode为MovementDirection, 拖动Model到 Movement Rotating Model
8.在项目面板中拖动Test使其为预制体,将其从场景中删除
9.选择LevelManager,将新预制体拖到PlayerPrefabs数值的第一个
10.按下播放
6.创建一个IK动力武器
1.创建一个空物体取名CubeGun
2.创建一个cube,在CubeGun的节点下,重置transform
3.设置cube的缩放位(0.2,0.5,1.5)
4.在CubeGun上添加ProjectileWeapon 组件
5.打开Projectiles 段,设置spawn offset为(0,0,1)
6.在CubeGun添加MMSimpleObjectPooler, 拖动AssaultRifleBullet 预制体到GameObjectToPool
7.在CubeGun添加WeaponAim3D组件, 设置AimControl为SecondaryThenPrimaryMovement,和weapon rotation speed为0
8.拖动CubeGun作为一个预制体
9.选择Suspenders 预制体并在它的CharacterHandleWeapon组件上拖动CubeGun到InitialWeapon
10.按下播放
11.你现在可以移动和用你的cube武器射击
然后,如果您想设置IK,您需要执行以下操作:
1.确保IK在您的角色上正确设置
2.打开CubeGun 预制体
3.创建一个新的空物体在CubeGun节点下, 取名Left, 位置(-0.15,0,-0.1)
4.创建一个新的空物体在CubeGun节点下, 取名Right, 位置( 0.1,-0.1,-0.65)
5.在CubeGun的ProjectileWeapon上,在IK部分,将Left拖动到LeftHandHandle ,Right拖动到RightHandHandle
6.保存你的预制体,按下播放
7.你的角色的手现在的位置正确了
7.创建一个需要钥匙打开的门
在这个示例中,我们将创建一个“门”(技术上是一个消失的立方体),并将其关联到一个需要钥匙来打开的交互区域。打开Loft3D 场景。
创建门:1.创建Cube, 命名“Door”, 位置( -15,0.5,0), 缩放(1,5,1)
2.创建Cube, 命名 “DoorZone”, 设置BoxCollider 为trigger, 位置( -14,0,0)
3.向DoorZone添加KeyOperatedZone组件,向OnActivation添加事件,将Door拖到其插槽,然后选择GameObject > SetActive(这里我们只是使门消失,但如果您是有Open()方法的门,您也可以绑定它)
4.在其面板的底部,将RequiresKey 设置为true,并在KeyID字段中放置“MyKey”
创建钥匙:1.在项目中,创建一个文件夹,并将其命名为Resources
2. 右键Create > More Mountains > Top Down Engine > Inventory Engine Key, 命名为MyKey
3.设置ItemID为MyKey,描述为“a key”,图标为Koala_Items_MetalKey,TargetInventoryName为SuitMainInventory
4.在Loft3D场景, 创建sphere, 命名“MyKeyPicker”, 设置collider为IsTrigger, 位置( -9,1,0)
5.在sphere上添加ItemPicker组件, 拖动MyKey到Item上, 添加PickableItem组件,勾选 DisableObjectWhenDeplete
测试:
1.按下播放,不要拾取sphere/钥匙,走在“门”旁边的小cube上方(DoorZone ),按空格,什么也不会发生,因为我们没有所需的钥匙
2.向右移动,走在球体/钥匙上拾取它,按I键打开你的背包,注意到它现在就在里面
3.走在DoorZone上,按空格,注意门按照预期的那样消失了
8.使新的输入系统正常工作
1.导入InputSystem 通过package manager
2.打开MinimalScene3D_InputSystem_Multiplayer场景
3.Unity通常会丢失对new input system的一些引用,因此您可能不得不再次绑定它们。这就像在任何项目中一样,在内部操作确保键盘和手柄方案有正确的绑定
4.在InputSystemManager_Player1(和2)上,如果引用丢失,则重新绑定事件
5.按下播放
9.设置两个角色分离输入
1.打开MinimalScene3D场景
2.选择LevelManager,设置PlayerPrefabs array大小为2
3.选择Suspenders预制体,设置PlayerID 为Player2,拖动他到LevelManager
4.选择UICamera,复制InputManager组合,将其粘贴为新的
5.在新粘贴的InputManager中,将PlayerID更改为Player2
6.按下播放,你现在可以控制minimal char用wsad,suspenders用箭头
10.制作弹药武器
1.打开KoalaDungeon 场景
2.创建一个空物体,命名TestWeapon
3.添加一个ProjectileWeapon 组件,在Magazine下,打勾MagazineBased,将MagazineSize 设置为10,在Settings下,打勾InitializeOnStart
4.添加MMSimpleObjectPooler组件,拖动KoalaRifleBullet 到GameObjectToPool
5.添加WeaponAmmo 组件,设置AmmoID为KoalaRifleAmmo,AmmoInventoryName为 KoalaMainInventory, Max Ammo为100,确保ShouldLoadOnStart 勾选
6.将TestWeapon 拖到项目中,对其做成预制体,并将其从场景中删除
7.在Resources文件夹,右键 MoreMountains > TopDownEngine > InventoryWeapon创建武器资产
8.命名为TestWeapon, 设置ItemID和ItemName为TestWeapon, 设置TargetInventoryName 为KoalaMainInventory, 勾选Equippable, 设置TargetEquipmentInventoryName 为KoalaWeaponInventory, 在EquippableWeapon上拖进TestWeapon预制体,设置ItemClass为 Weapon
9.在场景中,选择KoalaRiflePicker,在ItemPicker中,拖动TestWeapon资产
10.按下播放,移动到步枪和弹药采摘器上,以拾取它们
11.按T将装备武器,按E射击,做10次清空弹夹,按R重新转载子弹,再次做,武器弹夹清空,并按预期重新填充