U3D學習 跑酷遊戲

2021-07-09 13:02:50 字數 1392 閱讀 9447

1.製作場景cube預製件

新建cube 製作材質球 改變其顏色等

將改變好的cube放入assets中成為預製件用於製作遠景

以相同方法製作近景

建立empty gameobject命名managers

在managers下建立empty gameobject命名skylinenearmanager用於掛載生成遠處天際線的指令碼

在managers下建立empty gameobject命名skylinefarawaymanager用於掛載生成近處天際線的指令碼

在assets中新增create folder命名skyline用於管理天際線部分的預製件、材質球和指令碼

建立乙個cube 用於搭建遠處天際線 改變其顏色 並為其建立material材質球 調整好大小與顏色後放入skyline資料夾內

生成預製件 以備後面使用

重複操作 建立乙個用於搭建近處天際線的cube 並生成預製件 2.

建立生成背景的指令碼

queue佇列

通過for迴圈生成cube預製件 將其堆積成背景 並將cube加入到佇列中

gameobject.createprimitive(物體型別) 創造原始物體

gameobject.instantiate(預製件) 創造使用預製件的物體

gameobject g=gameobject.instantiate(prefab);

g.transform.localposition=new vestor3(); 創造使用預製件的物體

g.transform.localscale=new vestor3(); 改變物體大小

編寫方法recycle用於背景的迴圈重用

recycle中通過transform.scale設定cube的大小隨機(random.range(min,max)隨機min到max之間的數)

通過transform.position設定cube的位置

並且通過nextposition記錄和設定下乙個cube的位置

將nextposition設定為每乙個cube橫向緊挨 縱向增加其高度的一半(將每乙個cube底部對齊)

3.建立運動物

建立乙個cube用於運動並將camera綁到cube中

使視角跟隨cube移動

建立runningscript運動指令碼

update()中改變cube position.x的值使得cube橫向移動

通過distance變數記錄cube position.x的值(用於判斷場景移動)

4.場景改變

在場景建立指令碼中寫update方法

通過runningscript中distance值與queue中第乙個元素的position.x值的差判斷何時讓queue dequeue並將第乙個元素enqueue到queue隊尾 實現場景迴圈使用

U3D學習路線

作為一名初入遊戲開發的程式設計師,該如何學習u3d這遊戲引擎呢 本人通過自身學習經驗和瀏覽相關 總結了如下學習內容 上面的學習完成了,就能自己做點小遊戲了喲 高階學習 1.資料結構 2.c 語言高階 3.u3d常見物件和結構api 4.u3d粒子系統 5.u3d行為樹 6.u3d資料處理 7.sha...

U3D學習 塔防遊戲03

1.editor的使用 editor是乙個編輯器類,新建資料夾在asset資料夾下 在editor資料夾下建立pathtool指令碼 2.menuitem的使用 menuitem pathtool a q 在導航欄menu中建立乙個pathtool目錄 目錄下建立a選項 快捷鍵為ctrl a win...

u3d遊戲客戶端架構

主要是mvc架構,m層為資料層,兩個用途 1儲存資料 2傳送資料更新資訊 v層為檢視層,兩個用途 1接受使用者從介面上的操作 2根據m層的資料顯示相應的介面 c層為控制層,兩個用途 1處理和介面無關的 邏輯 2接受和處理網路資料 繼續 按照自己的經驗,遊戲中的mvc架構有兩種思想,1,以mvc架構為...