各位開發(fā)者們,想要做出優(yōu)質的玩法,就離不開各類專業(yè)知識。開發(fā)大師實戰(zhàn)班通過面向各階段開發(fā)者,進行具有針對性的技術培訓,將API需求、模型、場景、UI等難題逐一攻破,讓大家能快速投入到深度的內容創(chuàng)作中。
不知道上一期開發(fā)大師實戰(zhàn)班的重難點筆記有沒有幫助到各位呢?本期開發(fā)大師實戰(zhàn)班MOD SDK重難點問題匯總也是干貨滿滿,在線為大家解答在實際開發(fā)中會遇到各種各樣的問題,快來看看吧!
【MOD SDK重難點筆記】
【自定義維度】
Q:想要自定義全是海洋的維度怎么生成?
A:需要用到minecraft:overworld_height組件。將noise_type設置為ocean或者deep_ocean。
另外,原版還有非常多預設的地形高度值:包括("stone_beach", "deep_ocean", "default", "default_mutated", "lowlands", "river", "ocean", "highlands", "taiga", "mountains", "mushroom", "less_extreme", "extreme", "beach", "swamp")。
Q:維度中如何統(tǒng)一全部群系?
A:調整其他群系生成的概率。但即使如此,也做不到只有一個群系。
Q:如何在將特征生成于海灘邊的同時,控制它的高度和真實位置?
A:在feature_rule內利用三元運算符確認原位附近皆為海灘后,再在結構內加幾層沙子(以免浮空),并且控制高度。
Q:自定義維度的時候,為什么當維度設置到20以上,游戲就進不去了?而文檔標明已經支持到int的最大值。
A:建議看下各項鍵值名字有沒有寫對,包括檢查下文件夾名字是否有寫錯或者鍵的字符串寫錯等等。看了官網技術手冊中關于ModAPI的文檔,文檔意思感覺是從22開始,到int最大值前一個數(shù)字,如果最后什么都還不行就把數(shù)字調成更大一點(比如23、24、25等)。
Q: 在自定義的緯度中放置自定義結構特征,實現(xiàn)方法是什么?
我們想在一個新的緯度中刪除掉原本的所有群系,填充為水,成為一個新的群系,并在水上放置多個自定義結構特征,使它們拼接為一個島嶼。
A:假設開發(fā)者手上已有這些生成好的群系文件(若沒有可以打開官方示例自定義維度群系mod生成這些文件),只需在里面設置群系的初始高度為ocean或者deep_ocean這兩個值即可。他們會將群系的高度調整成海洋高度,MC的設定是低于62的高度會有水,這兩個值就是海洋和深海的高度。
Q:如何隱藏原版的特征?
A:需要用到minecraft:ignore_automatic_features組件。它可以屏蔽這個群系的自定義樹特征、礦石特征,但無法屏蔽像林中府邸、村民要塞特征等。
Q:我們放置的自定義結構部分會丟失,有方法解決么?
我們現(xiàn)在是多個結構組合出來的,看了下確實生成在好幾個群系中間導致的,有方法指定生成在單個群系(比如海洋群系)中嗎?我們想每次玩家進入這個維度都能準確地出現(xiàn)在島上,這相當于一個boss房。
A:文檔里有說自定義結構不能超過16x16,需要切割??赡苡袔讉€點放的地方已經不是你想要放的群系了,所以那幾塊丟了。比較直接的方法是判斷下每個放置特征的最大點是不是都在你想要的群系里。如果不是一起消失群系的分布是隨機的,建議將整個群系每個切割的部分,它們各自放置的點都檢查一下是否在單個群系內。如果不是則全部放到0高度就是取消生成,要讓玩家出生準確在一個群系不太可能,建議不要用自定義群系維度門。
Q:我們的島有80多個小結構。如果通過place放置的話,怎么準確計算出它應該放置的位置?以及保證它在水上呢?
A:建議通過不是自定義傳送門的方式,讓玩家傳送到一個預定的新維度坐標里。有個接口是gettopblock獲得某個方塊最頂層的非空氣方塊,以這個高度為開始放置你的80多個小結構。可以先放置一個小黑屋小結構把玩家關在里面,然后開始隔著幾個幀放置這80幾個結構,放置完再把玩家放出來。
Q:如何知道放置的坐標是哪個?
A:有個接口是locateNeteaseStrutureFeature,類似原版locate指令可以獲得特征的位置。
Q: 假設一個玩家先進來,然后正在島上,此時另一個玩家進來這個島會不會重新又加載一次呢?
A:這個應該還好,這個島如果只放一次的話,就在保存一個extraData,然后每次進來這個維度前,都先確認下之前是不是放過島嶼了。
Q:我們是這樣來的監(jiān)聽PlaceNeteaseStructureFeatureEvent 然后保存坐標的:玩家切換維度的時候tp過去,我們沒用放置特征的接口,而是用的生成規(guī)則。
A:建議改用一個維度門,但里面的方塊全部不是實心的方塊,然后打開玩家方塊碰撞檢測,碰到后傳送到維度過去。建議把維度放置用放置特征的接口放在那邊,這個島在新維度如果是一個唯一的boss島,或者唯一的可以反復刷的boss島,建議的處理方式如上文所述。但那個接口如果一次性放好幾個特征會卡頓,建議把它們分開幾個幀放完。
些知識點來自開發(fā)大師實戰(zhàn)班導師Spcoo和境界的回答,有沒有解開各位的疑問呢?關于實戰(zhàn)班還有更多精彩內容,歡迎關注開發(fā)者公眾號:我的世界Minecraft開發(fā)者 進一步了解!《我的世界》期待大家做出更多優(yōu)秀的作品,無限未來由你我創(chuàng)造!
關于《我的世界》
網易游戲代理的《我的世界》(Minecraft)是一個關于方塊與冒險的游戲,玩家可以獨自一人或與朋友們一起自由冒險,探索隨機生成的世界,創(chuàng)造令人驚嘆的奇跡。無論是建造簡單質樸的小屋,還是拔天倚地的城堡,盡可自由發(fā)揮你無窮的想象力。
《我的世界》官方網站:https://mc.163.com/
《我的世界》官方微信:我的世界Minecraft
《我的世界》官方微博:我的世界Minecraft
《我的世界》官方論壇:https://mc.netease.com/
《我的世界》官方客服電話:PC版 95163815;手游 95163816
《我的世界》官方玩家交流QQ群:677602705
《我的世界》創(chuàng)造者反饋郵箱:minecraftstarter@163.com
《我的世界》開發(fā)大師實戰(zhàn)班,快來解開你的開發(fā)難題[01-06]
《我的世界》下界更新即將上線,邁向世界另一端![01-04]
給跪了!Mod團隊在《我的世界》重現(xiàn)《天國:拯救》[01-02]
元旦快樂!《我的世界》與你一起開啟方塊探險新旅程[01-01]
網易《我的世界》起訴《迷你世界》公司侵權一審勝訴[12-31]
《我的世界》歡樂冰雪節(jié),送你冬日的快樂與祝福[12-31]
《我的世界》開發(fā)大師實戰(zhàn)班,開發(fā)疑難解答在這里[12-29]
玩家在《我的世界》1:1還原珠穆朗瑪峰 4小時內登頂![12-26]
《我的世界》玩家在游戲中重現(xiàn)《荒野之息》地圖全貌[12-25]
《我的世界》職業(yè)生存,不一般的生存樂趣[12-25]
相關評論