ObjectLuminous.rar
(15.65 KB, 下载次数: 227)
我们先来看看这个特效都包含哪些文件。
其中,ObjectLuminous.x和CrossLuminous.x是特效的本体,分别是点光特效和十字光特效,对应有各自的.fx文件。而剩余的那些文件,都是作者给出的示例用特效控制文件。这里要指出的是,OL_Selector_ST.fx是MMD自带的Stage01.x专用控制文件,OL_Selector1.fx是MMD自带Miku_Hatsune.pmd专用控制文件。下面我们来看看MMD当中的实际效果吧。
就拿自带的sample.pmm来解说吧。打开sample.pmm,在附件控制中加载ObjectLuminous.x,然后在MME特效分配界面中,你会发现多了一个分页:
在这个分页当中,除ObjectLuminous.x以外所有的.pmd和.x都被默认选择了OL_BlackMask.fx,其实这个OL_BlackMask.fx的作用就是使对应的.pmd或.x不产生点光特效。我们把stage01.x和Miku_Hatsune_metal.pmd对应的特效文件分别选为OL_Selector_ST.fx和OL_Selector1.fx,然后你会发现,舞台某些部分发光了,Miku身上某些部位也发光了!

图片附件:
捕获1.PNG (2011/4/24 09:58, 24.55 KB) / 下载次数 11
http://bbs.ivocaloid.com/forum.php?mod=attachment&aid=NDcxMTN8YTczN2RlZGJ8MTc1MDI2NzA3MnwwfDA%3D


图片附件:
捕获2.PNG (2011/4/24 10:27, 37 KB) / 下载次数 7
http://bbs.ivocaloid.com/forum.php?mod=attachment&aid=NDcxMTR8YzhlOTAwNzl8MTc1MDI2NzA3MnwwfDA%3D


图片附件:
捕获3.PNG (2011/4/24 10:36, 766.91 KB) / 下载次数 10
http://bbs.ivocaloid.com/forum.php?mod=attachment&aid=NDcxMTV8NWEzNDcwZTd8MTc1MDI2NzA3MnwwfDA%3D


附件: [就是这个东西了]
ObjectLuminous.rar (2011/4/24 14:38, 15.65 KB) / 下载次数 227
http://bbs.ivocaloid.com/forum.php?mod=attachment&aid=NDcxMjh8NTAxNzFkMTN8MTc1MDI2NzA3MnwwfDA%3D
作者: sygon
时间: 2011/4/24 10:39
本帖最后由 sygon 于 2011-4-24 12:06 编辑
好了,现在我们实际打开OL_Select1.fx看看都有些啥名堂吧。用记事本打开就够了。要是嫌乱码碍眼,把后缀改成.txt再用IE打开,编码选择日语(shift-JIS)。
这个OL_Select1.fx控制了三个部位子集发出三种不同的光,请看这段代码:
首先是TargetSubsetX这一系列变量,就是各个部位代号子集的内容。比较复杂的.pmd和.x模型各个部位都有不同的内部编号,这应该跟模型作者的设定有关。具体哪个部位是几号,有个很简单的办法可以试出来,以上面这段代码为例,TargetSubset3原先是个空集,我们现在在引号里面填一个7,保存文件(一定要先保存才会看到变化),切回MMD看看,原先不发光的耳麦和领带上的饰物发出了黄光。
这样我们就可以知道7号部位对应的就是耳麦和领带上的饰物。其余部位的编号也可以逐一试出来。
接下来看BlockSubset这个变量。这个变量控制的是哪些部位可以完全遮挡住点光特效,在这个变量中定义的部位,不会被该部位后方其他部位所产生的点光特效覆盖住。具体效果大家还是修改这个变量看看就明白了。
补充一下,TargetSubsetX和BlockSubset这两个变量的格式是一样的,不同部位编号用逗号隔开比如"0,2",连续编号的部位比如"12,13,14,15,16"可以用"12-16"简化表示。
再看Emittion_ColorX这个系列的变量,这个变量就是对应TargetSubsetX定义的部位子集发出的光色和亮度了。这个变量的格式是四个0.0-1.0的数值,分别对应红色、绿色、蓝色和亮度。这里要指出的是Emittion_ColorX定义的是部位轮廓的光色,而不是本体的光色。
我们接着往下看:
GainX这个变量系列是控制对应TargetSubsetX定义子集本体发光的强度。比如把Gain1的float(0.15)改成float(1),你会发现,原先只是微微发光的头发和领带现在覆盖上了浓密的白光,看起来发光强度很高的样子。仔细看的话,这些部位轮廓的光色也变强了。GainX变量的可设定范围是0.0-5.0,大于5.0的效果与5.0相同。
KeyTexColorX这个变量是比较高级的用法中才会用到的,其实咱也不懂怎么用,就把作者的原话搬在下面了,求翻译及高手讲解:
・KeyTexColor3
複雑な模様のテクスチャの、特定の部分だけ光らせたい場合に備え用意された
キーカラーのパラメータです。
KeyLuminousと異なり、テクスチャの色によってのみ判定されます。
TargetSubset3の追加条件として働くので、
TargetSubset3で指定された素材のうちでテクスチャ色が一致した場合のみ
Emittion_Color3が描画されることになります。
テクスチャの無い素材には無効です。
また、A値が0のときは使われません。
再来看KeyThreshold,这个应该是个阈值,可能跟KeyTexColorX有关,不深究了。
代码的其余部分一般不用再改动。如果你嫌3个独立的子集不够用的话,可以手动添加新的子集,不过涉及到要添加的代码就比较多了,比如添加第4个子集,要添加的有TargetSubset4、Emittion_Color4、Gain4、 PS_Selected4、technique Select4、technique Select4SS等等,代码就简单复制一下,插入到相应的位置,然后把变量名都改成带4的。
图片附件:
捕获4.JPG (2011/4/24 10:59, 48.27 KB) / 下载次数 9
http://bbs.ivocaloid.com/forum.php?mod=attachment&aid=NDcxMTZ8YzMwMzQ2MTB8MTc1MDI2NzA3MnwwfDA%3D


图片附件:
捕获5.JPG (2011/4/24 11:08, 42.87 KB) / 下载次数 7
http://bbs.ivocaloid.com/forum.php?mod=attachment&aid=NDcxMTd8NTIzYjEzOGF8MTc1MDI2NzA3MnwwfDA%3D


图片附件:
捕获6.JPG (2011/4/24 11:29, 50.03 KB) / 下载次数 7
http://bbs.ivocaloid.com/forum.php?mod=attachment&aid=NDcxMTl8M2ZmNzY4OGJ8MTc1MDI2NzA3MnwwfDA%3D


图片附件:
捕获7.JPG (2011/4/24 11:39, 41.02 KB) / 下载次数 7
http://bbs.ivocaloid.com/forum.php?mod=attachment&aid=NDcxMjF8NmYxODU1YTl8MTc1MDI2NzA3MnwwfDA%3D

作者: sygon
时间: 2011/4/24 10:41
本帖最后由 sygon 于 2011-4-24 12:33 编辑
现在我们来看ObjectLuminous.fx这个文件的代码,可以改动的部分只有以下这段:
涉及到的变量有:
Extent_S和Extent_G
这两个变量控制轮廓光的延展范围,默认值是0.0025,最大值推荐0.01,但是你也可以改成很夸张的数值,获得很夸张的效果。这两个变量具体的区别,请参考作者原话(其实咱没弄明白这个)
・Extent_S
・Extent_G
放射部分は2種類のぼかしの組み合わせになっており、
それぞれのぼかしの範囲を指定します。
大きくすると光が広がります。
上手く説明するのが難しいですが、Extent_Sを大きくすると
光が膨らみ、Extent_Gを大きくすると光が薄く広がります。
Strength_A和Strength_B
这两个变量控制发光的具体效果。好像作者本人也很难说明白这两个变量具体的区别,大家还是自己试验吧。
Interval
这个变量控制发光闪烁的频率,设定值是多少就是以多少帧为周期闪烁一次,当然,在MMD中静态编辑的时候也依然会闪烁,那就是(设定值/30)/秒闪烁一次。设定为0就不闪烁。
CrossLuminous.fx的参数也包括以上变量,不同的是还多两个变量:一个是Aspect,控制十字光的延展范围;另一个是Angel,控制十字光的角度方向。
这里要特别指出的是,CrossLuminous.x的附件顺序要摆在第一位,这样延展出的十字光线才完整,这是本人的使用心得。
图片附件:
捕获8.JPG (2011/4/24 12:10, 58.93 KB) / 下载次数 7
http://bbs.ivocaloid.com/forum.php?mod=attachment&aid=NDcxMjJ8ZjQyYzJiZGN8MTc1MDI2NzA3MnwwfDA%3D

作者: sygon
时间: 2011/4/24 10:44
本帖最后由 sygon 于 2011-4-24 13:30 编辑
好了,现在ObjectLuminous的使用方法已基本介绍完毕,以下是本人的一些使用心得:
1. 这个特效是比较耗资源的,在低配置电脑上会明显降低MMD在编辑时的帧率,而且就算设定为不显示,也依旧会占用运算;
2. 一个ObjectLuminous.x只能设定一个闪烁频率,要设定成不同部位不同的闪烁频率,只能设定多个ObjectLuminous.x和.fx的副本,分别加载;
3. 不推荐多重加载ObjectLuminous.x,最好保存成不同文件名的副本之后分别加载,这样的话,在保存和读取特效文件分配设置的时候,才不会因附件同名而导致加载混乱;
4. 控制文件也可以在MME的main分页当中加载,效果就是这个样子:
这样可以很方便地把各个部位替换成纯色。
5. 设定ObjectLuminous.x的透明度(Tr)变化也可以很方便地改变整体的发光强度。
6. ObjectLuminous发的光其实分为两部分,一个是本体的光,一个是轮廓光。本体的光接近于白色,而且亮度越大越白,本体越大,白色的范围也就越大,这也就是说,想用ObjectLuminous让一个较大的物体通体发出均匀的纯色光是办不到的。
7. 最后还有一个特殊的用法,加载ObjectLuminous.x后MME的OL_EmitterRT分页当中,你可以把特效文件改成(无),效果就是这样:
这么明亮圣洁的白光效果该怎么用呢?


图片附件:
捕获9.JPG (2011/4/24 13:16, 88.83 KB) / 下载次数 10
http://bbs.ivocaloid.com/forum.php?mod=attachment&aid=NDcxMjR8NWYwZTc5OTR8MTc1MDI2NzA3MnwwfDA%3D


图片附件:
捕获10.JPG (2011/4/24 13:28, 87 KB) / 下载次数 8
http://bbs.ivocaloid.com/forum.php?mod=attachment&aid=NDcxMjZ8OWFhMWE2M2J8MTc1MDI2NzA3MnwwfDA%3D

作者: 单走大人
时间: 2011/4/24 10:45
hohoho...点光啊..
作者: DbuJang
时间: 2011/4/24 10:47

坐等教程中.......
作者: simon99514
时间: 2011/4/24 10:51
案例中的发光体特效是指定特定模型作用的。如果要改指定对象的话,应该是需要改fx文件中的参数。
fx文件其实是个文本文件,可以使用写字板等文本文件的编辑软件打开的。
作者: buoumomo
时间: 2011/4/24 11:39

昨天说写今天就写了...真是好孩子- -
作者: sygon
时间: 2011/4/24 11:48
昨天说写今天就写了...真是好孩子- -
buoumomo 发表于 2011-4-24 11:39 
好孩子么?还好没被叫大叔,感觉年轻了

作者: buoumomo
时间: 2011/4/25 00:13
回复 9# sygon
大叔必须是久天 OY= =
作者: regnad
时间: 2011/4/25 11:04
有关fx和x的说明部分参考DirectX SDK 的文档。
作者: 乎乎仓鼠
时间: 2011/4/25 12:26
技术帝·····膜拜中
作者: latali
时间: 2011/4/25 23:44
好深奧,看了還是不懂,只好做基本的。
作者: 楓雨聆
时间: 2011/4/26 13:02
回复 1# sygon
非常詳細的教程
有關進階微調的方式也交代得很清楚
感謝您的教學
昨晚測試的很成功
只是對於同個PMM當中
若有複數人物模型
點光部位的代號有些出入
比如說Lat初音和Lat鈴
就PMD模型來說各個部份的代號並不相同
期待有人能夠提出解決方法或者替代方案

图片附件:
2011-04-26_124607.png (2011/4/26 13:01, 218.12 KB) / 下载次数 8
http://bbs.ivocaloid.com/forum.php?mod=attachment&aid=NDcyMDF8YjQ1OTIyYzR8MTc1MDI2NzA3MnwwfDA%3D

作者: sygon
时间: 2011/4/26 13:28
回复 sygon
非常詳細的教程
有關進階微調的方式也交代得很清楚
感謝您的教學
昨晚測試的很 ...
楓雨聆 发表于 2011-4-26 13:02 
这个问题好办,针对每个模型做出独立的控制文件就可以了
作者: 00apple00
时间: 2011/4/28 00:42
感谢教程~努力研究ING
作者: 空の少女
时间: 2011/5/10 13:30
赞诶!迅速抱走
作者: Jimpan
时间: 2011/5/10 20:00
我有問題啊,為甚麼一定要選取骨架的時候才看到效果??
如圖:

图片附件:
未命名b.jpg (2011/5/10 19:58, 127.92 KB) / 下载次数 8
http://bbs.ivocaloid.com/forum.php?mod=attachment&aid=NDgxODd8ODRkMDZhMDN8MTc1MDI2NzA3MnwwfDA%3D


图片附件:
未命名a.jpg (2011/5/10 19:58, 134.29 KB) / 下载次数 8
http://bbs.ivocaloid.com/forum.php?mod=attachment&aid=NDgxODh8ZDNhYzVhZDl8MTc1MDI2NzA3MnwwfDA%3D

作者: Jimpan
时间: 2011/5/11 21:03
回复 18# Jimpan
感謝樓主的教學,後來找到是怎麼回事了^^
很感激你的分享與教學~
作者: iear07
时间: 2011/5/11 22:13
技术帝啊。。。。膜拜一下,感谢指导,很有用的帖子,谢谢了~
作者: 志村小四
时间: 2011/5/23 19:25
新手表示学习中
作者: bobm
时间: 2014/6/8 23:15
学习中呢。
作者: 329514734
时间: 2016/4/7 22:14
膜一发......
欢迎光临 iVocaloid论坛 (http://bbs.ivocaloid.com/) |
Powered by Discuz! X2 |