电竞比分网-中国电竞赛事及体育赛事平台

分享

北京108km創(chuàng)始人梁偉國 :Unity3D+Blender游戲開發(fā)最佳組合

 Iris_joker 2014-05-03


面向移動互聯(lián)網(wǎng)開發(fā)者和游戲開發(fā)者群體的免費技術(shù)交流盛會“2013中國開發(fā)者大會(CDC北京)”于11月2日在北京國際會議中心隆重召開,本次大會圍繞“移動·游戲·2013”展開。此外還開設(shè)HTML5、iOS、Android、Unity、Cocos2d-x和Windows Phone六大技術(shù)專場,分享技術(shù)干貨、交流技術(shù)心得。此次大會歷時1天,邀請業(yè)內(nèi)明星技術(shù)講師30余位,演講內(nèi)容涵蓋當(dāng)前最熱門的移動、游戲開發(fā)技術(shù)及相關(guān)工具和平臺的使用經(jīng)驗分享。中國開發(fā)者大會是當(dāng)下不容小視、首屈一指的技術(shù)盛宴。開發(fā)者將在此了解當(dāng)下IT行業(yè)發(fā)展動態(tài)、技術(shù)發(fā)展趨勢及技術(shù)專家們的經(jīng)驗分享。



 



在Unity3D分會場,北京108km創(chuàng)始人梁偉國發(fā)表了《Unity3D+Blender游戲開發(fā)最佳組合》的演講。


















北京108km創(chuàng)始人梁偉國 







以下是文字實錄:



由于之前演講講師有事,所以這場由我給大家介紹Unity3D和Blender的游戲開發(fā)組合。很難得大家堅持到現(xiàn)在。首先我簡單自我介紹一下,我叫梁偉國,程序員出身,游戲設(shè)計師,同時是一家公司的創(chuàng)始人,我在IBM做過軟件技術(shù)師,2009-2010有一段時間是自由職業(yè)者,現(xiàn)在我做手游創(chuàng)辦了108km工作室,現(xiàn)在更名北京108科技。今天我講的主要是Unity跟美術(shù)相關(guān)的東西。Blender是一個開源的3D美術(shù)軟件,在這之前,凡是做過美術(shù)的,或者和美術(shù)合作過的,我們開發(fā)3D會用到3Dmax或者瑪雅,這是今天的流程。




















如果我們隨便找一個國家的美術(shù)問一下,3Dmax和瑪雅的比較就會得到這樣的答案。3Dmax用戶人群最多,用起來也是比較容易的軟件,瑪雅功能強,適合做影視和動畫方面。從09年到現(xiàn)在用了4年的Unity。一開始我們團隊只有兩三個人,一直到現(xiàn)在,中途做了3D游戲找過好幾個美術(shù)團隊,自己也招過美術(shù)人員干過。在這個過程中,我們總結(jié)了相當(dāng)沉痛的經(jīng)驗。今天我給大家分享的是用Blender這款軟件,它能把我們之前的痛處全能解決了。所以今天我分享這個話題特別適合小團隊和打算以后單干,或者是當(dāng)獨立游戲人方向的同學(xué)。







Blender是一個開源的軟件,用起來非常的輕巧,速度快,2秒就能啟動,它的缺點,目前國內(nèi)用的人最少,適用的領(lǐng)域,最適合游戲領(lǐng)域。我們講講傳統(tǒng)的美術(shù)開發(fā)流程。首先我們要進行原畫,建模,動作,動作里面包括骨骼綁定和調(diào)整動作,導(dǎo)出fbx文件,這都是美術(shù)干的事,美術(shù)把這些生產(chǎn)完,最后才導(dǎo)入Unity給我們用。






















大家看到,整個過程里面,虛線包住的這塊都是3D軟件需要承擔(dān)的工作。過去這幾年,我一直跟外包的團隊打交道,我們跟外包打交道,一般他們給的東西都不能直接用,大家在座的程序居過,應(yīng)該跟美術(shù)溝通的痛苦,他們給的文件有諸多的問題。比如說我們最常用的,美術(shù)給一個角色的模型,







我們的fbx文件導(dǎo)出,再導(dǎo)入Unity,傳統(tǒng)的方式是什么樣的呢?左邊是第一種,整個導(dǎo)出,模型加動畫,我們導(dǎo)進Unity,看到左邊這些數(shù)字,每一楨到每一楨,比如說這是第11-43楨,跳是51-80楨,每一楨需要手動錄入,有一些團隊叫美術(shù)用Unity這個軟件,讓他把這些做好了。一邊導(dǎo),一邊就錄好了。右邊是另外一個方法,比如說足球明星帶動作的模型,我們把每個動作單獨的東西導(dǎo)出來,用瑪雅制作都喜歡用右邊的方法,但是這個有什么問題呢?第一文件的尺寸,每一個文件導(dǎo)出來,起碼是2-3M,這里面有十幾個,就四五十兆,一旦發(fā)生一些改動,我們更改法線,或者稍微修改動作,最怕是模型修改,模型節(jié)點重新修一下,所有的都要導(dǎo)一遍,誰禁得起這個。Unity4.0以后,增加了新的動畫系統(tǒng),同時動畫導(dǎo)入的工具改進了很很多。Unity4.0以后,整個模型導(dǎo)進來會有標(biāo)尺的工具欄給大家調(diào)動作,左邊手動錄入每一楨的動作就不做了。即使是這樣,也是很費勁的。我們所有的東西都可以在Blender直接導(dǎo)入,一鍵導(dǎo)入Unity。






















這是我們跟美術(shù)打交道的需求,比如說模型修改,頂點修改,發(fā)現(xiàn)反轉(zhuǎn),坐標(biāo)軸修改,第二個動作調(diào)整,有一個動作我們覺得播放太慢了,揮刀的動作加速或者減速,進行修正的話,我們說我們外包的慘痛經(jīng)歷。層次我們找了北京的外包團隊,最后大家溝通最糟糕的情況是什么樣?一個動作來回反攻一個星期,我們提出需求,QQ溝通半小時,那邊行了,下周二提交變成周四,周五,下周一了,在公司里面,通過美術(shù)主管可以施壓,外包的話,一個動作的修改就得浪費一個星期的時間。







經(jīng)過種種的苦惱,我們被外包的美術(shù)折騰了將近兩年的時間,其中我們團隊所有人都學(xué)會了3D軟件的用法,一般的3D模型我們都可以使用。但是在這個過程中,我們覺得還是不好用。國內(nèi)的幾個軟件,3Dmax用的人是最多的,也是最好用的軟件,但是它有一個最大的弊病,我們是做iphone游戲,3Dmax是沒有蘋果版本的,傳說是2014年,2015年才出的,我們不抱希望,寄托在沒有出來的軟件上,我們覺得不靠譜。Unity4.3,4.4會出新的UI系統(tǒng),或者出什么新的東西,我們是不指望的。Unity把anjoi的作者吸納到自己的團隊了,我們選anjoi是選對了,我們對新的Unity UI系統(tǒng)是不抱希望的。我們每到三到六個月的時間里就有一個新的版本上升。我們是8月份升級的,一直用3.6,一直用3年半,網(wǎng)上用的bug都抹平了,都沒有了,我們才升級4.0。我們快速開發(fā)的狀態(tài),對開發(fā)工具的選擇非常的慎重。我們很負(fù)責(zé)任的向大家推薦Blender,它不是代替3Dmax或者瑪雅,我接下來給大家展現(xiàn)它過人的地方,以及我為什么向大家介紹Blender。






















如果用Blender,從建模動作到調(diào)整,到導(dǎo)入Unity,我們直接可以在Blender里面完成。flash那么簡單的繪圖功能被這么多專家用的成精了,所有的flash,UI就在flash里面創(chuàng)作,Unity就沒有那么好了,所以我們創(chuàng)作素材非常的困難,哪怕創(chuàng)建數(shù)據(jù)和菜單也是很難的,但是我們用Blender,所有的流程就能走通了。






















我們先看看動作模型的直接導(dǎo)入,左邊就是在Blender里面創(chuàng)建動作的一個剪切,對應(yīng)的是攻擊1、2、3、4、以及死亡所有的動作,Blender可以直接導(dǎo)入動作,完全不需要做任何的動作,我實際操作一遍給大家看一下。我直接把Blender變形一下,直接打開這個項目。我拿一個現(xiàn)有的項目跟大家分享。我們Blender3D里面包含著所有的內(nèi)容,拿主角來說,這個就是我們的主角。我們在這里面可以察看一下,這是Blender文件,由于它包含了十幾個動作,所以有4.9M,這已經(jīng)是一個很小的文件了。它是一個Blender文件,我們在Unity里面,直接自動把它轉(zhuǎn)成fbx格式了,右面可以預(yù)覽,這些動作可以直接播放,在這里雙擊就可以進行Blender編輯了,這個就是Blender的編輯畫面。操作起來還是相當(dāng)簡單的,如果有一點美術(shù)基礎(chǔ)的人很容易學(xué)會。 

 



這里是Blender的動作列表,從atex01-06,死亡,行走,跑步這些動作,直接在這里可以操作,添加新的動作在這里直接加,命名弄好,然后返回Unity里,就可以看到所有的動作直接導(dǎo)入進來了,這里就可以看到。Unity的骨骼也是很好用的。右側(cè)的每一個動作都自動的導(dǎo)出,自動的命名。如果我們非要把它跟Unity的動畫進行合并的話,這里面也可以直接進行,這里面就不演示了。















   







我講一下Blender整個骨骼體系。這個骨骼動畫就是卡的動作,我們覺得它播放的太快了,在座做程序的,覺得它播放太快,一般考慮在程序里面把速度調(diào)慢一點,如果現(xiàn)在借助這個軟件,我們可以輕松的把播放速度擴展長一點就慢下來了。所有的這套谷歌子在Unity里面可以和Unity4.0的骨骼相配對。我這里提一下,無論用這種軟件或者3Dmax不要隨便把名字隨便改了,骨骼的命名跟Unity最新的骨骼系統(tǒng)直接搭配的。比如說這個骨骼的名字就是這個。我們曾經(jīng)找一個外包,把這個名字改為拼音的左手,右手,頭部,讓我們很頭疼。



 



這是從實際項目中抽取出來的東西,我們做手游的時候,我們團隊里面有自己的規(guī)定,所有的Unity場景只要打開,點這個play的時候,必須能跑,之前我們跟其他的團隊交流的時候,有的團隊在Unity下面有菜單場景,游戲場景,每一次運行測試的時候,先跑菜單場景,點十及按鈕才能到游戲場景跑。我們的生命不能這么浪費,對我們來講,我們在項目里面創(chuàng)造的場景,按run就必須得跑起來。







我們做了兩多年的手游,現(xiàn)在有13款游戲在蘋果的app store。







提問環(huán)節(jié):  



提問:3Dmax和瑪雅之間會導(dǎo)資源,用Blender可以實現(xiàn)資源的調(diào)用。



梁偉國:他們的團隊大部分是用3Dmax的比較多,我們初步在動作這塊,骨骼綁定和調(diào)動作這塊,轉(zhuǎn)成Blender,但是在前面建模那塊還可以用原來的。







提問:有關(guān)Blender的問題,剛才您說的可以比較方便的做動作的切換,其他的還有什么好處?



梁偉國:它做動作非??欤斞乓粋€住色的角色模型,綁骨骼,刷權(quán)重,加AK這些需要一天的時間,Blender需要15分鐘,它可以自動。我綁定了一個怪之后,這套動作可以在類似的角色里面重用。就像3Dmax里面的一樣。韓國用瑪雅做游戲美術(shù)比較多,我知道國內(nèi)用瑪雅的還是比較少的。國內(nèi)游一個技術(shù)美術(shù),可以銜接程序和美術(shù)之間的。但是國內(nèi)的技美只熟悉美術(shù)和他們公司引擎之間的轉(zhuǎn)換。Unity的話,我估計得過一年兩年,真正的普及開來,Unity的技美才會多。在轉(zhuǎn)換制定標(biāo)準(zhǔn)上,大部分團隊都要走彎路。

  



提問:刷模型信息的話,模型有偏差的話,導(dǎo)致?lián)Q裝的時候,做動作可能會出現(xiàn)偏縫,這個怎么做?



梁偉國:自動刷是一個補充,對手游來說,我個人的感覺,你說的自動換裝,一般都是針對主角而言,但是針對怪和小動物什么的這塊可以忽略。按您說的精度要求,在手游里面要求不高。因為您說的那種一個動物要換裝什么的,現(xiàn)在做成手游,大部分用3D現(xiàn)成圖片來做。如果手游里面真3D的話,模型速度比較低,就算有一些問題也是能接受的。

   



提問:剛才聽您講Blender軟件,建模,骨骼綁定都可以做,對電腦配置要求是不是特別高?



梁偉國:沒有,電腦要求特別低,軟件就50M,起動速度也非???。

    



提問:地形那塊用什么做?本身的占資源不是很大,或者比較慢嗎?



梁偉國:移動端,地形的貼圖4個以內(nèi)還可以接受,不要超過4個貼圖,大小在257×257以下就可以了。

    



提問:用圖塊的方式做地面的時候,怎么保證貼一塊和貼另一塊變化不要太多。做2D的時候,用圖塊做的時候,問題不大,但是用Unity,銜接不好做?



梁偉國:那種就不適合用人手拖了。







提問:Blender有沒有Windows版本?



梁偉國:全都有。

    



提問:能不能做特效?



梁偉國:我們都是用links系統(tǒng),但是我們沒怎么用過。這個東西好像有點超前,大家都沒怎么用過。剛才我強調(diào)了我們的游戲在任何場景一點就跑,這是現(xiàn)成的項目,我加了一些菜單,我們就是用Unity加了一些菜單,我們可以隨時添加一些敵人,這就是我們增加的敵人。這些模型都是Blender里面做的,還有它的動作,我簡單給大家說一下投錨手,所有的武器具體是怎么做的,有點像魔獸里面的感覺。我們加了一堆投錨手,這些投錨手就是抓著一個錨扔出去之后,就扔向主角了。在游戲里怎么做呢?由于整個模型是一個怪,模型就帶著這個錨,錨扔出去的瞬間,在Blender里面把錨引長了,在Unity里面重新創(chuàng)新一個錨,在這里我們可以看到所有的投錨手。它對應(yīng)的整個投錨手,找到它的模型,這個就是一個Blender文件。這里面可以看到預(yù)覽。大家看一下投錨手的動畫,有朋友提問到關(guān)于換武器什么的,其實原理也是一樣的。在模型的原文件里做一個武器,必要的時候,就是用Unity替換成別的。我們看到把錨投出來之后,實際上在3D模型里面把錨引長了,最后演示出來的游戲的效果,剛好把一只箭扔到主角那里去。





說到怪我多說一點。無論我們要做遠(yuǎn)程的,還是近程的怪,我們看到有一些骷髏,它的攻擊方式是靠近主角砍,我們看一個遠(yuǎn)程攻擊的,它發(fā)了一個光球,我們制作的時候,光球包含球體的碰撞器,發(fā)出來之后,這個碰撞器里面的腳本直接控制球,比如說像這個主角。近程攻擊的骷髏用的是同一套腳本。這個骷髏砍向主角砍一刀的時候,程序例創(chuàng)建透明的球體碰撞器,在骷髏身體的前面,碰撞器碰到主角就是攻擊了。所有的敵人只要用一個球體碰撞器代表供給就可以了。 

 



現(xiàn)在正在用的3Dmax和別的軟件怎么切換到Blender這邊來呢?我們的建議就是說,直接把動作,骨骼綁定這塊劃到Blender的工作范疇里。我們團隊正式用Blender是去年年底,當(dāng)時我們幾個以我們?nèi)_貓的功夫,我們用一個星期的時間就完全掌握它的用法了。一般有3D美術(shù)基礎(chǔ)的,大概花幾天時間就可以完全掌握了,在Blender里面綁骨骼做動作的習(xí)慣,一旦大家用上,一定會很喜歡的。 

 



傳統(tǒng)的美術(shù)生產(chǎn),原畫建模貼圖還可以用原來的方式,但是綁骨骼動作這塊用Blender的方式,然后把這個東西放到Unity里面。我們做手游一般不需要分的那么細(xì),按照我們的經(jīng)驗,我們就分兩個項目,一個是美術(shù)之源,一個是程序,第三個就是兩者的整合。美術(shù)只需要把東西生成Blender文件,放到美術(shù)項目里面提交上去就完了。我們程序那塊,之前也用過gatehap那個東西,但是之后又用回自己的東西了。雖然國內(nèi)開發(fā)團隊說它不給力,但是用的還可以。我要分享的就到這里。 

 



最后提一下Blender的目錄文件。每一個模型,單獨一個目錄,模型外面,下面這幅圖,Blender是這樣的文件,剩下我們重新建一個材質(zhì)目錄,把貼圖放到這里面,主席有高光,反射貼圖都放到這里面去。因為Unity默認(rèn)導(dǎo)入Blender或者fbx文件的時候,會自動生成這個目錄,生成這個目錄放.mat的文件。模型命名,貼圖的命名在座應(yīng)該很清楚了。最后介紹一下我們的產(chǎn)品,目前有13款產(chǎn)品在蘋果appstore。







更多精彩內(nèi)容請點擊:CDC北京主頁:http://cdc./2013bj/report.html

                                               

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多