该模板可以创建一个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/ }}
可以在此查看目前所有已使用本模板的条目。
严禁上传收费、非公开或从游戏等应用程序中非法提取的模型及其二次创作模型。[注 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”的格式,上传到仓库。
模型名建议仅使用英文字母、数字和半角标点,也可使用下划线(_)、短横线(-)等符号,不可包含空格,包含汉字、全角标点、日语假名等特殊符号可能导致上传失败。不需包含扩展名。
请先将以下代码添加到自己的自定义JavaScript页面[注 17]:
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官方下载地址[注 18]
ダウンロード: とある工房:PMXEditor官方下载博客[注 18]
three.js examples:Three.js官方网站关于加载MMD模型的示例
PMX (Polygon Model eXtended) 2.0, 2.1 File Format Specifications:pmx文件结构解析
canvasWidth
和canvasHeight
的值乘以加载网页时设置的网页缩放(当然也包括移动端的自适应缩放),类似于MediaWiki上的其它缩略图。
#FFF
时仍然太暗或模型局部亮度不一致,应在PMXEditor中修改对应材质的颜色(含扩散色、反射色、环境色)
margin:0 auto
可以实现容器水平居中。
#ffffff
的alpha通道(即正文所述的“贴图需要透明度信息才能正确显示”),需要特别注意将tga格式的alpha通道转为png的alpha通道。以Adobe Photoshop为例,方法为:打开tga格式图片,点击“图层”面板中背景图层右边的锁按钮(或双击后在新建图层窗口点确定),打开通道面板,按住Ctrl并点击Alpha 1图层,然后按Ctrl+Alt+I(或菜单栏→选择→反选),按Del(或菜单栏→编辑→清除),然后保存为png格式,可以用前述方法再次压缩png文件。
(Blender的安装目录)\Blender\(当前Blender版本号命名的文件夹)\scripts\addons
,运行Blender,点击菜单栏→编辑→偏好设置→插件,找到并勾选启用mmd_tools,然后打开菜单栏→文件→导入,如果插件加载成功,导入选项应有pmd和pmx格式。导入pmx模型后单击选中模型(如果你有相关基础知识,也可以选择只精简模型的其中一部分),在右下角窗口选择修改器(默认图标为一个扳手)→添加修改器→生成→精简,选择一种精简算法,调整参数至合理数值(正常情况下,算法应该会自动维持UV,无需另外修改贴图),完成后选择该模型并点击菜单栏→文件→导出→pmx格式。可以在导出后用MikuMikuDance打开,检查简化后的模型与原模型看起来是否有太大的差距,并测试压缩后文件的总大小。重复上述过程,尽量同时保证简化后的模型质量与原模型差距比较微小,并且压缩后大小刚好满足要求,通过反复试验确定合理的精简参数。