Adventure_Creator_2Dtutorial_Part1
在package manager中下载adventure creator,记得下载2D demo包
然后在顶部菜单栏点击adventure creator——Getting Started ——load 2D Demo

在AC Game Editor窗口里,有八个基本菜单,每个菜单都有自己单独的Asset File:Manager文件

New Game Wizard
新建一个空scene,然后点击adventure creator ——getting started——New game wizard

新建游戏弹出窗口
Game name:这里命名为My 2D Game
Camere Perspective:2D
Interface: 这里选择 choose interaction then Hotspot,这里后期可以修改
GUI System:Default AC
然后Confirm choices,在弹出的窗口中确定Setup Scene
建完之后,在Assets文件夹下,就会出现My 2D Game文件夹
点击My 2D Game文件夹,其中有一个My 2D Game_ManagerPackage文件,双击它可以可快速将八个基本菜单的manager设置为当前的manager

我们可以再新建一个Scene,然后在scene manager中,可以选择with folders和without folders
点击之后,会确定生不生成默认的子文件


AC Game Editor窗口,可以通过Adventure Creator —— Editors—— Game Editor打开

A New 2D Scene
把demo中Graphics——Sprites——Park中的ParkGround、ParkSky、ParkBackground、ParkTree放进_SetGeometry父对象里面
设置ParkSky的Sorting Order为-10、ParkBackground为-5、ParkGround为-1、ParkTree为5。调整一下位置,把树放在草坪上
在场景中有一个蓝色的小箭头,这是指示玩家开始场景时站立的地方,具体控制脚本在Scene manager——Scene Settings——Default PlayerStart
把这个小箭头放在树的左下方草坪上

点击Scene manager的Scene settings,在Default Navmesh(导航网格)右侧点击Create,就能在游戏中生成默认的导航网格,挂载在Hierarchy窗口的_Navigation——Navmesh下面
选中这个Navmesh,在inspector窗口里选择polygon Collider2D的Edit Collider,编辑一下碰撞器的边界,可以打开gizmos来一直显示边界,这个边界的内部就是玩家角色在整个图上能移动的范围

在_Navigation——Navmesh内部新建一个空对象,命名为TreeBase,添加Polygon Collider2D 组件,打开is trigger,编辑它的外形和树根底部位置重合

选择Default Navmesh,在inspector窗口中Navigation Mesh——NavMesh holes,点击Create hole,将TreeBase拉取进来,游戏运行时将会将在Default Navmesh的基础上挖掉TreeBase的部分,人物移动时会绕过去
可以修改一下Main Camera的Size(Orthographic模式下)或Field of View(Perspective模式下),再调整一下Position,让游戏的画面居中
Creating a Player
把demo中Graphics——Sprites——Brain——BrainIdle中的Idle_D拉取在Hierarchy窗口,重命名为PlayerSprite
在菜单栏中点击Adventure Creator——Editors——Character Wizard

在弹出的窗口中点击next
Base graphic里面选择player,并且将PlayerSprite拉取进去
Animation engine里面选择Sprites Unity,关于这几个动画引擎的区别,可以到官方手册里面去查看

Additional settings里面直接点击finish,最后的窗口关闭就可以了
AC会自动将PlayerSprite放在一个叫做My new Player的父对象里,并带一个Sound Child
将整个My new Player放在项目根目录“My 2D Game”里来组成一个Prefab
然后在AC Game Editor窗口里,选择settings,在Character Settings里面,将上面的My new Player这个Prefab放在里面

这样的话即使在scene里面隐藏或者移除了player,开始游戏时player都会自动出现
在My 2D Game文件夹里新建一个Animation Controller并命名为PlayerController,放进Hierarchy里面My 2D Game——PlayerSprite——Animator里面(这个组件也是Character Wizard自动添加进去的)
双击PlayerController,打开animator窗口,然后将Assets——AdventureCreator——2D Demo——Animations——Brain下的所有Animation Clips全部拖拽进里面

我们可以按快捷键Ctrl+6打开animation面板快速预览这些动画
点击My new Player,在inspector窗口中的Player脚本里面可以设置Standard 2D animations,只要将Animation Clips的命名方式在这里统一一下,引擎就会自动安排动画播放


按照动画片段的数量,设置Facing directions为Eight,可以点击List expected animations来确定需要的动画片段有哪些
这时player的走路动画就可以播放了,接下来我们解决player被大树遮挡的问题
进入AC Game Editor面板,在scene settings里面点击create创建default sortingmap

这时在hierarchy窗口中的_Navigation——_SortingMaps里面就会有刚才创建的default sortingmap
将场景中间的箭头放在角色能移动的最远端,也就是草坪的上端
点击default sortingmap,在inspector窗口的sortingmap脚本里面点击add area两次,打开Affect Character size
start scale,角色到达设置的最远端时的缩放值,设为90

在scene中调整sorting area的切分点,点击轴心的蓝色正方形区域来移动,只能上下移动,前面区域是7,后面区域是1,前方缩放120,点击Interpolate in-between scales自动创建自然缩放105

Player Sprite自动挂载有Follow SortingMap脚本,运行游戏可以直接看到角色不会被大树遮挡了

打开编辑模式预览,可以在编辑模式下预览缩放效果,但是预览完记得关闭
点击My new Player,在inspector的Movement Settings里面,提升一下walk speed,打开turn before pathfinding



