?
安卓环境配置
我们的项目完成后将运行在安卓移动设备上,所以我们先将平台配置好
1.?File?-> Build Setting ->?勾选Android?-> Switch Platform
2.?然后点击Player Setting?->?Other Setting -> Color Space,选为Gamma模式。取消勾选Android TV Compatibility
3.?XR Setting -> 勾选Vuforia Augmented Reality Support
?
创建工程
1.?将SampleAssets.unitypackage导入
2.?打开一个新场景,删除Directional Light
3.?到Project > SampleAssets > Complete >
? ? Prefabs文件夹,把LevelArt拖入Hierarchy窗口。这样可以让 LevelArt 处于(0,0,0)坐标,以便基于世界坐标来烘焙(bake)NavMesh(删除Directional Light是因为Sandbox已经有一盏Directional Light了)
4.?保存场景
?
Tags and Layers 介绍
1.?Tags 用于标注项目中的物体
2.?Sorting Layers ?2d系统中Sprite的显示层级
3.?Layers用于创建具有某些相同特征的物体
常用于相机分层显示,射线检测等功能
打开Edit->Project Settings->Tags and Layers->添加 Actor
?
光照和阴影设置
2.?在Environment > Environment Lighting > Source, 改为Color, 颜色改为紫色
3.?接下去我们要修复阴影, 因为现在拉远了看, Zoom In/Zoom Out的时候, 当前的阴影会消失. 这是由于Shadow Distance太小了
4.?到Edit > Project Settings > Qality, 把Shadow Distance改为300
?
场景、脚本设置
1.?到Project > SampleAssets > Prefabs > Co ? ? mplete 文件夹,把Player、AITank拖入Hier ? ? archy窗口
·弹药设置
①?在Project > SampleAssets > Prefabs > Complete中点击AxeShell,挂载Shell脚本
②?点击预制体右侧小三角形展开,将ShellExplosion拖动到ExplosionAudioSource和ExplosionParticles中,ExplosionRadius设置为3,DamageMask设置为Actor,勾选IsRotate
③?另一Shell使用相同方法,参数相同,不勾选IsRotat
?
Player设置
1.?在Project > SampleAssets > Scripts中找到PlayerController和PlayerCharacter脚本,挂载到Player上
2.?挂载的脚本上属性值都为空,需要手动设置
3.?Speed:8 Turn Speed:18 LaunchForce:10 Health:100 Attack Time:0.6
4.?在Hierarchy中的Player展开,对应名称将Muzzle、ShootAudioSource、Explosion拖动到Inspector的属性中
5.?展开HPCanvas下的所有对象,将Slider拖动到Health Slider,Fill添加到HealthFillImage
6.?到Project > SampleAssets > Prefabs > Complete 文件夹,把AxeShell拖入Shell中
?
AITank设置
1.?在Project > SampleAssets > Scripts中找到AIController和PlayerCharacter脚本,挂载到AITank上
2.?Speed:8 Turn Speed:0 LaunchForce:10 Health:100 Attack Time:0
3.?在Hierarchy中的Player展开,对应名称将Muzzle、ShootAudioSource、Explosion拖动到Inspector的属性中
4.?展开HPCanvas下的所有对象,将Slider拖动到Health Slider,Fill添加到HealthFillImage
5.?到Project > SampleAssets > Complete > Prefabs文件夹,把Shell拖入Shell中
?
导航设置
1.?在Hierarchy > LevelArt中将除了光照以外的物体选中,按住Ctrl多选,在右侧Inspector勾选Static > Yes,Change the Children
2.?菜单栏Windows > Navigation,在右侧会出现Navigation面板
3.?将MaxSlope设置为0,点击Bake,界面中的网格就是Tank可以行走的区域
?
应用AR
1.?在Hierarchy窗口中右键 Vuforia> 添加ARCamera、Image ,ImageTarget的Positions Y设为-0.01,Scale设置为100
2.?在ImageTarget下创建空物体,修改名字为Arena,将Player、LevelArt、AITank置为它的子物体
3.?选中Imagetarget,点击DefaultTrackableEventHandler脚本编辑
4.?添加公共变量public GameObject Arena;
在OnTrackingFound末尾添加Arena.SetActive(true);
在OnTrackingLost末尾添加Arena.SetActive(false);保存代码
5.?在Inspector中将Hierarchy中的Arena赋给变量Arena,这样就是为了追踪到目标就显示游戏场景,丢失目标就消失
?
EasyTouch插件
1.?导入EasyTouch插件,检查Console面板是否报错
2.?在Hierarchy面板右键,EasyTouch > EasyTouch,分别添加EasyTouchController > InputManager、JoyStick、Button
3.?选中JoyStick,修改在UI上的位置,更改名字为Move,展开Axes properties,勾选Turn&Move direction Action > 勾选Auto link to tag。
4.?展开Move Events,点击OnMoveStart()右下角点击+,将Hierarchy中的Player添加到None,NoneFunction > PlayerCharacter > Move(),在OnMoveEnd()中使用相同操作添加Move()
5.?更改Button名字为Fire,修改UI,放置在合适的位置
6.?展开Events,点击OnDown()右下角+,将Hierarchy中的Player添加到None,NoneFunction > PlayerCharacter > Fire()
?
更改朝向
1.?点击菜单栏Unity > Build Setting
2.?在Resolution and Presentation > Orientation中将Default Orientation改为LandScape Left
?
至此,我们的项目已经完成好了,打包发布看看效果吧