forked from M1A2C/AviutlDevelopingScripts
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRikkyReflection.anm
More file actions
82 lines (60 loc) · 2.61 KB
/
RikkyReflection.anm
File metadata and controls
82 lines (60 loc) · 2.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
--[[
このスクリプトの対応rikky_moduleのバージョン : ver1.1a
url: http://rikkyscript.webcrow.jp/src/DLLPACKv11a.zip
簡単に光源反射ができるスクリプトです。ただし場合によっては死ぬほど重いです。
rikky氏の「rikky_module.dll」が必要。
スクリプトと同じ階層、そしてpluginフォルダーに「rikky_module.dll」を入れてください。
◆◆◆◆◆◆◆◆ --- ほかの方のスクリプトを光源反射させる手順 --- ◆◆◆◆◆◆◆◆
①光源反射させる他の方のスクリプトを開き、
『obj.draw(』
または
『obj.drawpoly(』
という部分を
『require("rikky_module")
rikky_module.materialdraw_init(RR[obj.layer]["data"])
rikky_module.materialdraw(』
に入れ替える。
(この時、書き換えた後Aviutlを起動したままであれば再起動、または「F5」を押す。)
②このスクリプトをオブジェクトエフェクト(できるだけ上に)に配置する
▲注意: オブジェクトが「カスタムオブジェクト」の場合は、
オブジェクトより上のレイヤーに、他の使用しないオブジェクトを追加して
このスクリプトを配置してください。
また、「格納レイヤー先」を実行するオブジェクトのレイヤーに合わせておいてください。
③いろいろダイアログを設定する。(ここら辺は経験つんで、どうぞ)
④カメラ制御にシャドーを追加して、格納を実行。
⑤オブジェクトをカメラ制御下に置くと光源反射ができます。
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
ほぼ完全版と言っていいので、rikky_moduleの大幅な更新がない限り
一応そのまま使えます。
version histry ===
v1.1 - 中間的スクリプトから主要的スクリプトにも対応。
自スクリプトのみで光源反射をさせることにした。
v1.0 - 作成&配布
Developed by Aodaruma
LastEdit: 20:08 2017/02/11
]]--
--track0:光源度%,0,100,100
--track1:ハイライトシャープ,0,5000,300
--track2:格納レイヤー先,0,100,0,1
--track3:主体化,0,1,0,1
--check0:格納実行,0
--dialog:lightR,local lightR=255;lightG,local lightG=255;lightB,local lightB=255;ambientR(%),local ambientR=100;ambientG(%),local ambientG=100;ambientB(%),local ambientB=100;emissiveR,local emissiveR=255;emissiveG,local emissiveG=255;emissiveB,local emissiveB=255;specularR, local specularR=255;specularG, local specularG=255;specularB, local specularB=255;
local af,shininess=obj.track0/100,obj.track1
require("rikky_module")
local data = {
light_num=1,
position1={object="shadow"},
light1={R=lightR*af, G=lightG*af, B=lightB*af},
ambient={R=ambientR, G=ambientG, B=ambientB},
emissive={R=emissiveR, G=emissiveG, B=emissiveB},
specular={R=specularR, G=specularG, B=specularB, shininess=shininess}
}
local l=(obj.track2~=0 and obj.track2) or obj.layer
if(obj.check0) and (obj.track3==0) then
if(type(RR)~="table") then RR={} end
RR[l]={data=data}
end
if(obj.track3==1) then
rikky_module.materialdraw_init(data)
rikky_module.materialdraw()
end