Template: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 此为官方原版下载地址,如需要汉化或其它插件请自行查找。