上個月有個gz讓我高仿做一個的天空球微信小遊戲,當晚做出Demo後第二天那gz居然說不要了(很氣憤),所以這個Demo一直保留至今,今天剛好就做爲供大家學習Laya3D的demo分享給大家
國際慣例先上效果圖:
一、使用Unity3D引擎搭建遊戲場景:
1.首先建立一個新的unity3d工程,新建兩個文件夾分別用於保存資源、場景,並導入Laya官方提供的Unity插件:
2.將新建場景保存在Scenes文件夾(命名自取),然後在場景下創建一個Plane的3d物體重命名爲bg,
3.然後我們在res下創建一個texture文件夾用於存放紋理,這裏將我自己準備好的圖片資源放進來:
4.再在res下新建一個metrail的文件夾,並創建四個材質球,分別用於做球體、背景、地板和拖尾的材質,我們直接在這裏吧紋理關聯到材質球中:
5.然後將bg的材質球給到剛剛創建的bg節點下的網格渲染器組件中,然後吧節點立起來(因爲遊戲是看向z軸的):
6.然後我們創建一個3d球體也給player的材質球並加上剛體組件(因爲遊戲是根據物理引擎的運作的),在節點創建一個Trail並掛上拖尾組件:
7.因爲拖尾組件創建出來width是呈條帶狀的,所以我們要稍微改下他的顯示拖尾爲錐狀,順便也微調下顯示遺留的時間,color調成自己喜歡的顏色:
8.玩家控制的球體有了背景圖也有了,接下來就是要創建用於移動的地板,我們會創立一個floor_root的根節點,在下面存放Box網格的物體:
9.我們通過碰撞器的Edit調整下物體的狀態(讀者隨意),也加上我們的剛體組件(注意一定是3d的剛體,不是2d的):
10.調整好攝像機的位置,使其對準物體:
11.基本的場景有了我們還要創建一組物體用於在球的兩邊建築物循環顯示(上面的gif可以看到),我們做好後直接拖成預製體放到文件夾下,在下篇的文章中通過代碼動態創建(因爲做起來要花點時間作者就懶得做了Q.Q直接上個效果圖):
12.還有我們的地板也要做成預製體,因爲目前場景只有提前放好的三個地板節點,後面通過代碼動態生成:
13.接下來,也是最重要的一步,因爲目前爲止Laya對unity引擎組件的支持並不多,在材質方面也只能使用官方提供的,所以我們需要將所有的材質球變成Laya的,不然沒有辦法顯示出來:
二、通過插件導出3d場景給Laya引擎使用:
找到導出場景的按鈕:
然後我們配置好發佈路徑選擇導出場景,這裏建議大家跟作者一樣把路徑設置到Laya3D工程的bin/res目錄下,方便每次修改導出後直接可以使用,發佈後生成.ls數據文件:
場景導出後還有一個就剛剛製作的3d預製體,我們要選擇吧場景所有節點忽略,只把預製體的暴露出來,選擇導出預設,在路徑下就會生產.lh的文件:
然後就能看到默認導出的場景(.ls)和預製體(.lh)文件:
三、加載3d場景到舞臺下:
這裏我們提前創建好代碼的腳本文件,方便下篇文章直接上手寫代碼:
加載3d場景:
然後我們運行一下,就能看到場景已經被Laya加載進來:
可目前這個場景還是個死的,不能進行任何運動(上面的拖尾因由於球在空中收到物理引擎影響在往下掉),下一篇文章奎斯再帶大家寫代碼讓所有物體運行起來
感謝閱覽奎斯文章,希望各位也在學習的Laya遊戲引擎的小夥伴能有所收穫