• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            白云哥

            身披半件長(zhǎng)工衣,懷揣一顆地主心

             

            War3ArtTools學(xué)習(xí)筆記

                War3ArtTools是Blizzard官方發(fā)布的制作War3 Mod的工具集,雖然其模型導(dǎo)出工具只支持Max4,不過我們的目的也不是為了拿它來(lái)給War3做模型。通過War3ArtTools附帶的文檔,了解War3制作的一些技術(shù)細(xì)節(jié),也是很不錯(cuò)的。

             

                其實(shí)在差不多三年前歷時(shí)很短的一段3D開發(fā)經(jīng)歷里就參考過這玩意,對(duì)照War3ArtTools的工具集及相關(guān)功能,實(shí)現(xiàn)了一套我們需要的美術(shù)制作工具,包括模型導(dǎo)出插件、專用材質(zhì)編輯插件、模型預(yù)覽插件,不過當(dāng)時(shí)還未涉及到粒子(Partical)與帶子(Ribbon)。

             

                閑話少說,讓我們來(lái)看看War3ArtTools里空間都有哪些東西吧。

             

            war3arttools_0

             

                這是War3ArtTools的工具集列表,當(dāng)然除此之外還有一篇pdf文檔加幾個(gè)max model和tga texture samples。應(yīng)該來(lái)說,有了這套工具,再加上War3本身強(qiáng)大的Editor,完全可以做出一個(gè)全新的Mod來(lái)。

                War3ModelExp.dle 模型導(dǎo)出工具

                War3bmtls.dlt 材質(zhì)編輯工具

                War3Preview.dlu 模型預(yù)覽工具

                War3UserProp.dlu 自定義屬性編輯工具

                War3BlizardPart.dlo 粒子編輯工具

                War3Ribbon.dlo 帶子編輯工具

             

                要想在Max中為War3制作模型,首先第一步要確定的是比例尺問題。文檔中也是一開始就說明了,War3中一個(gè)單位等于Max中一年inch(也就是0.0254米),一個(gè)農(nóng)民的身高是70個(gè)單位(也就是1.778米),這樣看來(lái)也是按照現(xiàn)實(shí)比例來(lái)進(jìn)行設(shè)計(jì)的。然后約定了最高的建筑物大約為300個(gè)單位(約等于7.62米),一個(gè)尋路塊(Pathing Cell)寬度為32單位,而一個(gè)地形塊(Terrain Cell)寬度為128單位。

                另外在Max中做好的模型原點(diǎn)就是導(dǎo)出的對(duì)象的原點(diǎn),編輯器和游戲中會(huì)始終以原點(diǎn)位置來(lái)擺放對(duì)象。所以一般情況下我們會(huì)把原點(diǎn)設(shè)在人物的腳底下,建筑物的話也就要設(shè)在地板上。

                然后是模型的初始朝向,War3要求在Max中制作時(shí),前視圖中的模型應(yīng)該正對(duì)著你。

             

                使用工具集中的預(yù)覽工具,可以隨時(shí)在制作的過程中看到游戲中的效果,這個(gè)工具對(duì)美術(shù)來(lái)說相當(dāng)方便,不需要先導(dǎo)出,再啟動(dòng)游戲編輯器加載導(dǎo)出的模型。而且即使這樣做了,有時(shí)候游戲編輯器中看到的效果與最終的游戲效果也還是有差異。這是War3ArtTools的模型預(yù)覽工具的外觀:

             

            war3arttools_1

             

            對(duì)貼圖和材質(zhì)的要求

                貼圖必須使用Diffuse Color Map Channal, 只能使用24bit或32bit的tga文件,文件大小必須是2的整數(shù)次冪,最大支持512 * 512的貼圖,長(zhǎng)寬(或?qū)掗L(zhǎng))比例最大不能超過8:1。

                在貼圖的alpha通道上可以繪制團(tuán)隊(duì)顏色(Team Color),或者為模型創(chuàng)建透明區(qū)域。白色(1)為完全不透明,黑色(0)為完全透明。

                材質(zhì)類型只支持自定義的Warcraft III類型和混合材質(zhì)類型。一個(gè)Geometry只支持一張材質(zhì),但可以使用組合材質(zhì)來(lái)實(shí)現(xiàn)多層效果。

             

                在材質(zhì)工具的參數(shù)設(shè)置中也做了一些規(guī)則限制,比如某些參數(shù)必須使用哪些項(xiàng),等等。然后還有一些War3自定義的材質(zhì)屬性,用來(lái)實(shí)現(xiàn)游戲特殊需求,比如Replaceable Texture, Unshadered, No Depth Set, No Depth Test, 2-Sided, UnFogged, UnSelectable等等。

             

            制作動(dòng)畫序列

                War3使用Max Track View中的”Note track” Key來(lái)定義動(dòng)畫序列的相關(guān)屬性,比如長(zhǎng)度、時(shí)間、是不是循環(huán)播放、動(dòng)畫出現(xiàn)的概率等等,一個(gè)3ds max文件包含了該模型所有的動(dòng)畫序列。比如一個(gè)”Note track” key可能是這樣的:

            Stand – 2”

            rantity 3

             

                上面的”Stand – 2”就是動(dòng)畫名,War3ArtTools對(duì)動(dòng)畫名也做了一定的規(guī)則限制。動(dòng)畫名由一個(gè)或多個(gè)由空格分隔的單詞構(gòu)成,如果有多個(gè)部分,則必須用引號(hào)將動(dòng)畫名括起來(lái)。完整的動(dòng)畫名包括主名和次名,比如”Stand Ready”。

             

                引擎內(nèi)部有一套動(dòng)畫名稱匹配規(guī)則,用來(lái)選擇最合適的動(dòng)畫進(jìn)行播放。比如一個(gè)對(duì)象進(jìn)入攻擊行為,這時(shí)要播放攻擊動(dòng)畫,在兩次攻擊動(dòng)畫中間會(huì)有一個(gè)暫停,這時(shí)引擎會(huì)查詢這個(gè)模型是否有”Stand Ready”動(dòng)畫序列,如果有就播放,如果沒有則會(huì)回退到”Stand”動(dòng)畫序列,引擎內(nèi)的動(dòng)畫規(guī)則包括各種各樣可能的動(dòng)畫組合。

             

                “Note track”的參數(shù)中有一項(xiàng)Move Speed,定義了unit的移動(dòng)速度。一般的對(duì)象移動(dòng)速度在250~400個(gè)單位之間,也就是6.35~10.16米之間,也是人的正常跑步速度。這個(gè)參數(shù)在War3中只是給預(yù)覽工具用的,游戲中不會(huì)使用這個(gè)數(shù)據(jù)。

                移動(dòng)速度的調(diào)整關(guān)系到unit移動(dòng)時(shí)是否會(huì)出現(xiàn)滑步,這個(gè)速度與動(dòng)畫播放速度之間要協(xié)調(diào)好。比如一個(gè)unit,根據(jù)其模型的大小基本上可以確定這個(gè)模型每跨出一步所移動(dòng)的距離,也就是步長(zhǎng),假設(shè)為x,這樣在給定的移動(dòng)速度s之下,便可以計(jì)算出一秒內(nèi)需要跨出s/x步,這個(gè)步數(shù)包括了左右兩只腳的步數(shù)。然后再根據(jù)動(dòng)畫播放幀速率,在Max中默認(rèn)為30幀每秒,便可以計(jì)算出一個(gè)跨步動(dòng)作需要在幾幀之內(nèi)播完,也就是動(dòng)畫的播放速度應(yīng)該有多快。

                以后在游戲過程中如果想要加快或減慢unit的移動(dòng)速度,不僅是加減其位移的變化速度,還要讓動(dòng)畫播放速度也做相應(yīng)比例的改變,也就是讓這個(gè)unit的動(dòng)畫在一秒內(nèi)不是播放30幀,這樣來(lái)避免出現(xiàn)滑步現(xiàn)象。

             

                然后還有一個(gè)Rarity參數(shù)。當(dāng)相同的動(dòng)畫名稱出現(xiàn)多個(gè)時(shí),可以用此數(shù)值來(lái)表示該動(dòng)畫出現(xiàn)的概率。也就是一個(gè)休閑站立動(dòng)作美術(shù)可能做了好幾種,程序在播放的時(shí)候會(huì)隨機(jī)選擇一種來(lái)播,隨機(jī)選擇的依據(jù)就從這個(gè)Rarity參數(shù)來(lái)。

             

             

                War3使用的MDX模型因?yàn)閷?shí)現(xiàn)的比較早,所以對(duì)動(dòng)作制作方面的限制比較多,一些較新的技術(shù)都不能使用,比如IK與bipped動(dòng)畫。

                另外每個(gè)unit必須有兩個(gè)骨骼:bone_head和bone_chest,War3編輯器會(huì)用到這兩個(gè)骨骼,類似的,turreted buildings必須有bone_turret骨骼。

                Position/Rotation/Scale控制器必須使用Bezier, Linear或TCB,并且Rotation控制器兩個(gè)關(guān)鍵幀之間的角度差必須小于90度。

             

            掛載點(diǎn)設(shè)置

                掛載點(diǎn)制作時(shí)就是綁定了一個(gè)box在骨骼上,這個(gè)box不需要設(shè)置材質(zhì),但需要在自定義屬性編輯面板上標(biāo)注為Attachment Point。這些box不會(huì)被渲染,在它們上也不應(yīng)該有動(dòng)畫數(shù)據(jù)。

                與骨骼類似,掛載點(diǎn)也有一些是必須定義的,如下所示:

             

            war3arttools_2

             

                相對(duì)于目前越來(lái)越復(fù)雜的MMO來(lái)說,War3的掛載點(diǎn)信息還是比較少的。

             

             

            模型的優(yōu)化

                War3ArtTools定義了一個(gè)表格,指導(dǎo)模型制作者對(duì)各種類型的模型其面數(shù),貼圖大小,骨骼數(shù)和帶動(dòng)畫的Geoset數(shù)量做了規(guī)定。

             

            war3arttools_3

             

            其他

                每個(gè)unit模型可以帶一個(gè)頭像模型,只需要在名稱后加一個(gè)_Portrait即可,另外頭像模型上必須帶一個(gè)攝像機(jī)。

                小物件可以成組,這樣在War3編輯器中刷小物件的時(shí)候可以隨機(jī)的刷出各種物件來(lái),只要在命名時(shí)將其名稱設(shè)為一樣,同時(shí)在后面加上數(shù)字即可,如ModelName0.mdx, ModelName1.mdx, ……

             

            動(dòng)畫列表

                如前面所說,War3中有一套動(dòng)畫替換規(guī)則,每個(gè)unit和building也都定義了一些動(dòng)畫名,有些是必須要有的,有些是可選的,美術(shù)在制作的時(shí)候必須要有的可以先做,可選動(dòng)畫可以在后期慢慢加入,下表是幾個(gè)動(dòng)畫名及其描述:

             

            war3arttools_4

             

            可替換的貼圖ID

            TeamColor

                用于顯示團(tuán)隊(duì)顏色,通常情況下,一個(gè)”underpainting”貼圖被應(yīng)用于模型的一部分或者整個(gè)模型上,并且這個(gè)貼圖被設(shè)置為Team Color,然后模型的Skin再被附加一層帶alpha“空洞”的貼圖,通過這些“空洞”把下面的Team Color顯示出來(lái)。

            Team Glow

                用Billboard實(shí)現(xiàn)的,可以讓英雄單位或英雄所帶的武器發(fā)光的一種貼圖方式。

            Trees

                被標(biāo)記為Tree的可替換貼圖在游戲中會(huì)被替換為適合當(dāng)前tileset的Tree貼圖。

             

             

            注:以上內(nèi)容大部分未經(jīng)驗(yàn)證,屬于個(gè)人理解,小心被誤導(dǎo)

            posted on 2009-08-09 00:45 白云哥 閱讀(1527) 評(píng)論(1)  編輯 收藏 引用 所屬分類: WoW

            評(píng)論

            # re: War3ArtTools學(xué)習(xí)筆記 2009-08-09 10:11 凡客誠(chéng)品

            不錯(cuò)啊  回復(fù)  更多評(píng)論   


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            留言簿(4)

            隨筆分類

            隨筆檔案

            相冊(cè)

            我的鏈接

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            久久久无码精品亚洲日韩软件| 精品熟女少妇AV免费久久| 精品久久久久久国产潘金莲| 激情伊人五月天久久综合| 精品久久久久久| 四虎国产精品成人免费久久 | 日本久久久久久中文字幕| 久久播电影网| 国产精品99久久免费观看| 亚洲成av人片不卡无码久久| 99久久国产综合精品麻豆| 久久综合久久美利坚合众国| 精品久久人人做人人爽综合| 精品国产乱码久久久久久1区2区 | 伊人久久亚洲综合影院| 国产精品无码久久久久久| 久久精品综合网| 久久婷婷色综合一区二区| 久久国产色AV免费观看| 久久婷婷人人澡人人爽人人爱| 99久久精品国产一区二区| 久久无码人妻一区二区三区| 久久精品国产亚洲AV香蕉| 久久久久综合中文字幕| 久久精品国产精品亚洲| 天天综合久久久网| 日本道色综合久久影院| 97精品伊人久久久大香线蕉| 欧美精品久久久久久久自慰| 久久无码AV中文出轨人妻| 久久精品无码一区二区日韩AV| 51久久夜色精品国产| 久久91综合国产91久久精品| 久久r热这里有精品视频| 久久精品亚洲中文字幕无码麻豆 | 婷婷五月深深久久精品| 久久久这里只有精品加勒比| 久久久久久精品久久久久| 久久精品一本到99热免费| 久久99这里只有精品国产| 久久久噜噜噜久久中文字幕色伊伊 |