?
安卓環境配置
我們的項目完成后將運行在安卓移動設備上,所以我們先將平臺配置好
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
?
至此,我們的項目已經完成好了,打包發布看看效果吧