模板:MMDPreviewer/doc
- 未登錄用戶可能因為重新導向太多次導致無法加載相應的JavaScript
- 在MoeSkin皮膚的桌面端下上傳按鈕失效
歡迎您協助測試本模板。如果在使用過程中出現問題,你可以在模板討論頁提出。
請確認您熟悉wiki語法,了解本模板之構造及用途,並於沙盒測試後修改。否則,請勿隨意更改此模板。
簡介
該模板可以創建一個MMD模型預覽器,在條目中主要用於展示官方性質公開pmx格式模型的角色。官方公開模型的原因通常為形象展示或提供二次創作素材,例如虛擬UP主、遊戲運營方、3D動畫製作方或其它獨立角色製作方提供的角色模型。
可以配合{{tabs}}等其它模板,實現切換不同形象或其它功能或排版。
出於性能考慮,同一角色的同一套服裝設計應只展示一個模型。如果官方給出了多個模型差分,則在條目中應展示造型、顏色等最經典、信息最豐富的模型。同一頁面展示的模型數不能大於8個。[注 1]
用法
{{MMDPreviewer |modelName= |title= |designer= |modeller= |supervisor= |placeholderImage= |copyright= |downloadlink= }}
{{MMDPreviewer |modelName= |title= |subtitle= |designer= |modeller= |supervisor= |costume= |details= |encoding= |antialias= |canvasWidth= |canvasHeight= |bgcolor= |lightColor= |initialDistance= |minDistance= |maxDistance= |placeholderImage= |copyright= |downloadlink= |frame= |float= |style= |knownissues= }}
參數說明
參數名 | 默認值 | 說明 |
---|---|---|
modelName |
無 | 上傳的模型名,必填[注 2]。 |
title |
3D模型預覽 | 標題。從"title"到"details"的參數均支持Wikitext。 |
subtitle |
鼠標或觸摸拖動操作模型 | 副標題。用戶點擊此行(包括左側的圖標)可以展開或摺疊操作說明。 |
designer |
無 | 角色形象設計者或原畫師,從"designer"到"details"間的參數原則上應與模型附帶文檔或配布地址標明的一致。 |
modeller |
無 | 建模者 |
supervisor |
無 | 模型製作監修 |
costume |
無 | 服裝設計者 |
details |
無 | 如果需要補充更多信息,或者以上參數沒有準確包括製作分工,可以在此填寫任意文本,但如果篇幅較長則應該寫進條目正文。 |
encoding |
shift_jis |
模型文件編碼,編碼不正確有可能導致模型加載出現問題。中國模型一般為gbk ,日本一般為shift_jis ,也有一些模型採用utf-8 或utf-16 編碼。
|
antialias |
true |
是否開啟抗鋸齒,為true 時開啟。
|
canvasWidth |
300 |
畫布寬度,也就是預覽器的主體。注意不要過寬,可能會導致移動端瀏覽困難。[注 3] |
canvasHeight |
500 |
畫布高度 |
bgcolor |
transparent |
畫布背景顏色 |
lightColor |
#eee |
模型全景光顏色,如果發現模型太亮或太暗,應該修改這個值,一般來說只取灰色值,即RGB的數值相等。[注 4] |
initialDistance |
24 |
默認攝像機距離,值越小,距離越近,模型顯示得也就越大。 |
minDistance |
10 |
最小攝像機距離 |
maxDistance |
30 |
最大攝像機距離[注 5] |
placeholderImage |
無 | 占位圖片,在模型還未加載或無法加載時顯示。一般為模型的正面截圖(可以使用預覽器自帶的截圖功能[注 6]),也可以使用由此模型渲染的效果圖[注 7],)上傳到圖站,在此填入文件名(不含"File:"前綴) |
copyright |
無 | 模型版權信息,原則上應與模型附帶文檔或配布地址標明的一致,支持Wikitext。 |
downloadlink |
無 | 模型的原始配布地址,只能填寫一個正確的URL。[注 8] |
frame |
空 | 畫框,如果該值不為空,則像普通圖片一樣加上灰色邊框,同時背景填充白色,可被bgcolor 和style 覆蓋。如果遇到排版問題,也可以嘗試啟用。
|
float |
left |
容器浮動,常用的值為left 或right
|
style |
(詳見模板源代碼) | 容器樣式,可以填入CSS語法正確的屬性和值。[注 9]屬性名和默認值重複時可覆蓋默認值。 |
knownissues |
無 | 已知的該模型預覽與原模型的差別,供其他編輯參考,不會展示在網頁中(也可以不用參數,直接在注釋里寫出來)。 |
示例
{{MMDPreviewer |modelName=KizunaAI_ver1.01 |placeholderImage=kizunaai_model_preview.png |title=[[绊爱]]模型预览 |designer=[[森仓圆|{{lj|森倉円}}]] |modeller={{lj|トミタケ}} |supervisor=Tda |copyright=[[Kizuna AI株式会社|Kizuna AI]] |downloadlink=https://kizunaai.com/download/ }}
- 更多實例:
- 冰糖:在本模板外部使用{{tabs}}切換不同模型,使用官方製作的含動作、表情的占位圖片
- 洛天依:在本模板外部使用{{toggle}}實現摺疊和展開效果,使用style實現水平居中,使用官方製作的含動作、表情並用其它渲染器渲染的占位圖片
可以在此查看目前所有已使用本模板的條目。
網頁用模型製作
嚴禁上傳收費、非公開或從遊戲等應用程序中非法提取的模型及其二次創作模型。[注 10]任何上傳的模型均必須有相應的免費、公開、不限時的原始配布模型獲取方式。
模型預覽功能主要適用於官方公開了模型文件的角色,因此一般不推薦在條目中展示同人製作的模型。
目前模型預覽模塊僅支持預覽pmx格式的模型,如果不是pmx格式的模型,需要事先用Metasequoia、PMXEditor等軟件轉換。如果文件本身存在問題(例如縮放比例不對、貼圖錯誤等等),需要事先修改。
為了便於在網頁端展示,官方給出的模型可以經過一定處理以控制文件大小,主要方法有壓縮貼圖的大小以及刪除模型冗餘信息。具體方法如下:
- 壓縮貼圖大小
原模型的貼圖可能是png或tga等無損壓縮格式,或JPEG的高質量壓縮,可以重新壓縮以控制大小。可以選擇在本地處理[注 11]或使用在線服務[注 12]。如果需要更改文件擴展名,要在PMXEditor的「材質→テクスチャ/メモ→Tex :」中同時更改pmx文件使用的材質文件名。如果包含表情差分所用到的材質,可以一起刪除,同時把對應的貼圖文件刪除。如果貼圖需要透明度信息才能正確顯示,則可以保存成8位PNG(PAL8)格式或不更改[注 13]。如果該透明貼圖所在位置離其後方的模型不遠,可以用被透明圖層遮蓋的背景顏色或圖案與透明圖層合併並用JPEG格式壓縮。如果原貼圖分辨率過大(例如4Kx4K以上),可以降低分辨率,不過這會大幅丟失貼圖細節。最好不要更改貼圖的路徑,如果更改則需要在上述窗口中同步更改。儘管目前模型暫未支持陰影貼圖(toon)與高光貼圖(spa),仍然不建議刪掉這些貼圖。
- 刪除模型冗餘信息
因為僅用於在網頁上展示模型而不需要製作動畫,可以僅保留pmx文件的頂點、三角面、材質、貼圖等信息,而刪除骨骼、剛體、表情、節點等信息。在PMXEditor中打開模型,選擇「ボーン」(骨骼)選項卡,在左側項目中任意一項右鍵單擊,選擇「全て選択」(全選)或按Ctrl+A,然後點右下方的x或者右鍵菜單選擇「削除」或者按delete鍵刪除,刪除後自動生成的項目不用理會。在「モーフ」(材質)、「剛体(剛體)」、「Joint」(節點)選項卡中也進行同樣的操作。除了以上操作以外,還可以進行刪除多餘三角面等操作,例如刪除在普通情況下看不到的頂點[注 14]等等。修改完之後保存模型文件。
請不要刪除模型附帶的說明文檔。除以上操作外不要更改模型的外觀,例如更改顏色、替換成完全不一樣的貼圖,或者增加原模型沒有的任何信息。
進行上述步驟之後,還需要再次打開模型以檢查顯示是否有問題。確認無誤後,將整個文件夾壓縮成zip格式,檢查zip文件及其中每一項壓縮後大小。一個壓縮包內只能有一個pmx文件[注 15],且其擴展名中的「pmx」三個字母必須都是小寫。一般壓縮後壓縮包大小在2M~5M左右,最好不要超過6M。如果超過,則可嘗試進一步降低貼圖畫質或編輯模型。如果單是僅含有頂點和三角面等信息的pmx文件壓縮之後超過6M,則該模型可能過於精細,考慮使用專業建模軟件簡化(並不強制)[注 16]。上傳允許的最大壓縮包大小為10M。完成後,將壓縮包重命名為「模型名.zip」的格式,上傳到倉庫。
- 更多實例:
- 吉諾兒:在模型簡化階段刪除了MMD預覽不支持的陰影差分、法線貼圖、金屬度貼圖和遮罩等,將原本tga格式的貼圖壓縮成低質量jpg格式,並刪除了被衣服遮擋的體模的三角面,將官方壓縮後84.6M的模型簡化至壓縮後3.07M
模型上傳方法
模型名建議僅使用英文字母、數字和半角標點,也可使用下劃線(_)、短橫線(-)等符號,不可包含空格,包含漢字、全角標點、日語假名等特殊符號可能導致上傳失敗。不需包含擴展名。
請先將以下代碼添加到自己的自定義JavaScript頁面:
mw.loader.load('https://fastly.jsdelivr.net/gh/koharubiyori/moegirlMMDPreviewerProducts/uploader.js')
之後如果正在桌面端使用MoeSkin皮膚(默認皮膚),需要在「參數設置」的「顯示」一欄中將皮膚切換到Vector,刷新網頁後左側菜單工具一欄的「批量上傳文件」按鈕下會出現「上傳MMD預覽文件」按鈕(該按鈕在「參數設置」頁面中不會顯示,打開其它頁面即會顯示),點擊後選擇處理過的模型文件,填寫好模型名後點擊上傳,等待上傳完成即可。如果上傳失敗,可以嘗試切換自己的IP地址並重試。
若誤將錯誤的模型文件上傳,可以在改正並重新壓縮後以新的文件名重新上傳,測試完成後在模板討論:MMDPreviewer/刪除申請頁面提出申請刪除錯誤的模型。
已知問題
相較於原版MMD和PMXEditor的預覽功能,該預覽功能暫不支持陰影貼圖(toon)、高光貼圖(spa)、輪廓線效果,且不能完全正確顯示含有透明度的貼圖和被其遮擋的面。對於橫縱向拉伸比例差距過大的貼圖(尤其是使用VRoid Studio創建的模型貼圖),貼圖抗鋸齒會導致該貼圖渲染分辨率異常地低。
模板架構圖
站內維護鏈接
頁面 | 語言 | 操作 | ||
---|---|---|---|---|
Template:MMDPreviewer | Wikitext | 討論 | 編輯 | 歷史 |
Template:MMDPreviewer/doc | Wikitext | N/A | 編輯 | 歷史 |
Template talk:MMDPreviewer/刪除申請 | Wikitext | N/A | 編輯 | 歷史 |
Template:MMDPreviewer/style.css | CSS | 討論 | 編輯 | 歷史 |
Widget:MMDPreviewer | JavaScript | 討論 | 編輯 | 歷史 |
MediaWiki:MMDPreviewerForMoegirl.main.js | JavaScript | 討論 | 編輯 | 歷史 |
MediaWiki:MMDPreviewerForMoegirl.worker.js | JavaScript | 討論 | 編輯 | 歷史 |
外部鏈接
Vocaloid Promotion Video Project:MikuMikuDance官方下載地址[注 17]
ダウンロード: とある工房:PMXEditor官方下載博客[注 17]
three.js examples:Three.js官方網站關於加載MMD模型的示例
PMX (Polygon Model eXtended) 2.0, 2.1 File Format Specifications:pmx文件結構解析
注釋
- ↑ 由於瀏覽器對WebGL內容數量的限制,手機端同一頁面只能加載最後8次調用的模型,電腦端是16次。
- ↑ 技術上這是本模板唯一的必填項,但仍然建議在主命名空間(條目正文)使用模板時應至少完善「簡單參數」列明的參數
- ↑ 實際渲染的畫布寬度和高度等於
canvasWidth
和canvasHeight
的值乘以加載網頁時設置的網頁縮放(當然也包括移動端的自適應縮放),類似於MediaWiki上的其它縮略圖。 - ↑ 如果設置為
#FFF
時仍然太暗或模型局部亮度不一致,應在PMXEditor中修改對應材質的顏色(含擴散色、反射色、環境色) - ↑ 預覽功能的最大渲染距離為2048個MMD單位,約160多米,對於人物模型來說一般夠用了,但如果真的要放比這更大的模型,可以上傳前對模型進行整體縮放
- ↑ 截圖方法為單擊後按Ctrl+S,可以在預覽時修改畫布寬度和高度參數以導出分辨率更大的圖片
- ↑ 占位圖片可以使用官方使用該模型製作的渲染圖,或自己使用MMD或其它軟件和渲染器製作,可以包含動作、表情、場景等,但注意不要與2D繪畫相混淆,且應該選擇包含模型全身的圖片。如果不含其它要素,用MMD導出模型正視圖的建議參數如下:分辨率設定寬高比為3:5(如300*500或600*1000),默認動作(A-pose),鏡頭為平行投影(關閉透視),鏡頭位置僅調整Y值與距離值(鏡頭位置X、Z和鏡頭旋轉X、Y、Z的值均為0),光照顏色默認(154,154,154),光照方向可設(0,0,0.5)(方法來自冰糖)或關閉本影顯示,關閉實時物理計算,關閉顯示坐標軸,導出圖片選擇png格式(透明背景),可用8位png格式再次壓縮。
- ↑ 填寫的URL的優先級應為:官方網站>官方首次使用該模型製作並提供下載鏈接的視頻(即配布視頻)鏈接>相關二次創作活動專頁的鏈接>官方的以文章、動態等文字形式宣布提供模型下載的鏈接>模型平台上的鏈接>雲盤地址。需要保證該網址下模型配布信息的發布者擁有對該模型的版權或版權方已授權發布。一般情況下均不應填寫直鏈。如果模型禁止二次配布,則不可填寫二次配布地址。如果下載鏈接或壓縮包需要密碼,則不可在此直接寫出密碼,而是提供含有作者公開的密碼或線索的網頁鏈接。
- ↑ 例如,填入
margin:0 auto
可以實現容器水平居中。 - ↑ 「二次創作模型」包括所有以前文所述模型為基礎改造或複製局部到其它模型所創作的模型。另外,如果模型為限時配布或只在封閉的聊天平台(例如QQ群)配布,則視為非公開模型,如果模型從公開轉為非公開,則應該申請刪除此模型。
- ↑ 如果使用Adobe Photoshop、GIMP等軟件在本地處理,一般將圖像質量調整到30%~40%左右,格式選項選擇「基線已優化」。如果使用批量操作,要注意有時壓縮後的圖片會比原來更大(例如分辨率極小的toon或spa貼圖或有大面積色塊的png格式貼圖),不更改此貼圖即可。
- ↑ 例如Tinypng或迅捷在線壓縮等
- ↑ 如果原貼圖為tga格式,且含有不全為
#ffffff
的alpha通道(即正文所述的「貼圖需要透明度信息才能正確顯示」),需要特別注意將tga格式的alpha通道轉為png的alpha通道。以Adobe Photoshop為例,方法為:打開tga格式圖片,點擊「圖層」面板中背景圖層右邊的鎖按鈕(或雙擊後在新建圖層窗口點確定),打開通道面板,按住Ctrl並點擊Alpha 1圖層,然後按Ctrl+Alt+I(或菜單欄→選擇→反選),按Del(或菜單欄→編輯→清除),然後保存為png格式,可以用前述方法再次壓縮png文件。 - ↑ 例如被衣服遮擋的體模、被外套遮擋的內衣、刪除後不影響默認表情顯示效果的口腔、牙齒等。
- ↑ 否則只會顯示文件名靠前的第一個模型,如果確實需要展示多個模型,只能將其餘的pmx模型及其使用的貼圖分別放到單獨的文件夾並壓縮。
- ↑ 以Blender為例,簡化頂點和三角面數量的一種簡單的方法為:在此下載最新的mmd_tools插件(或自行查找適合你已經安裝的Blender版本的mmd_tools插件),將解壓後的整個文件夾複製到
(Blender的安装目录)\Blender\(当前Blender版本号命名的文件夹)\scripts\addons
,運行Blender,點擊菜單欄→編輯→偏好設置→插件,找到並勾選啟用mmd_tools,然後打開菜單欄→文件→導入,如果插件加載成功,導入選項應有pmd和pmx格式。導入pmx模型後單擊選中模型(如果你有相關基礎知識,也可以選擇只精簡模型的其中一部分),在右下角窗口選擇修改器(默認圖標為一個扳手)→添加修改器→生成→精簡,選擇一種精簡算法,調整參數至合理數值(正常情況下,算法應該會自動維持UV,無需另外修改貼圖),完成後選擇該模型並點擊菜單欄→文件→導出→pmx格式。可以在導出後用MikuMikuDance打開,檢查簡化後的模型與原模型看起來是否有太大的差距,並測試壓縮後文件的總大小。重複上述過程,儘量同時保證簡化後的模型質量與原模型差距比較微小,並且壓縮後大小剛好滿足要求,通過反覆試驗確定合理的精簡參數。 - ↑ 17.0 17.1 此為官方原版下載地址,如需要漢化或其它插件請自行查找。