asdfffffffff :-Ml?:0_X
macroScript TIK_Book_Rigger 01~
nC@;
category: "Tik Works" K /$-H#;N
tooltip: "Book Rigger" p\R&vof*
ButtonText: "Book Rigger" h[mJ=LIrg
K#Zv>x!to
( {isL<
undo on #{?~XS
local FrontMaterial >}:
local BackMaterial 4fL`.n1^
local double_mat 9s1^hW2%Q
local BM s94*uZ(C/
local IFL_File >7PNl\=gG
local p_math = 0 }'*6 A
local A_S h-kmZ<p|^
local doubleS = false xP,b/T#a
local backupM 6']HmM
local takeapart=false ~>HzAo9e
local takeRandom=true ]jYFrOMy4S
local takeRandomVal=50 %~y>9K
local apr=2 [F'|KcE3
local takestart=120 X^Z!!KTH
local takeend=180 1`YU9?
&w#!
--MATERIAL FUNCTION--
o8Gygi5
--Material Function for double sided material TS#[[^!S
( 8AX_y3$
fn image_fromIFL Mat = #{vC =m73
( xC,x_:R`
l6y}>]
local selected_txt -cM1]soT
IFL_file=openFile BM.filename --Loads the IFL file oojl"j4
--Each readline command reads the next line for the loaded ifl d51'[?(
--Run the command until it reaches the desired line %'yrIR
if p_math >= (bm.numframes - 2) then p_math = (bm.numframes - 2) 80Dn!9j*
`oJQA$UD
for i = 1 to (p_math +=1) do A^>@6d $2
( t$18h2yOL
( y|2<Vc
Selected_txt=readLine IFL_file UX@%1W!8
) YQn<CjZ8af
case of 3m1(l?fp
( iT>u&0B-
(classof Mat.material1==standardmaterial): m2c'r3 UEu
( apo)cR
Mat.material1.diffuseMap=bitmaptexture() 2DQVl
Mat.material1.diffuseMap.filename=((getFilenamePath BM.filename) as string)+(selected_txt as string) hOY@vm&
Mat.material1.diffuseMap.alphaSource=A_S f#0HiE!
um.ZAS_kmc
) CS7b3p!I
(classof Mat.material1==Arch___Design__mi): r#sg5aS7O|
( @dWA1tM
Mat.material1.diff_color_map=bitmaptexture() }r:"X<`
Mat.material1.diff_color_map.filename=((getFilenamePath BM.filename) as string)+(selected_txt as string) (a[BvJf
Mat.material1.diff_color_map.alphasource=A_S =Z\q``RBy
) ^?cu9S3
(classof Mat.material1==VRayMtl): TO6F
( '12m4quO
Mat.material1.texmap_diffuse=bitmaptexture() q,P.)\0A
Mat.material1.texmap_diffuse.filename=((getFilenamePath BM.filename) as string)+(selected_txt as string) k79OMf<v
Mat.material1.texmap_diffuse.alphasource=A_S )G2Bx+Z;L
) mB`HPT
) OX;bA^+}P
awzlLI<2p
) -RP{viGWK
------------------------------ Hcf"u&%
IFL_file=openFile BM.filename r*{.|>me
C^$E#|E9 N
for z = 1 to (p_math += 1) do nk!uO^
( ;1~ n|IY
( IR"C?
Selected_txt=readLine IFL_file ZKI8x1>Iq
) 1Ne;U/
case of fhg'4FO
( 7b~uU@L`
(classof Mat.material2==standardmaterial): %Ja0:e
( mBL?2~M
Mat.material2.diffuseMap=bitmaptexture() +/_XSo
Mat.material2.diffuseMap.filename=((getFilenamePath BM.filename) as string)+(selected_txt as string) R.1.LB
Mat.material2.diffuseMap.coords.U_Tiling=-1 ;~1xhpTk
Mat.material2.diffuseMap.alphaSource=A_S |a)zuC
) U
`lp56
(classof Mat.material2==Arch___Design__mi): SP<(24zdd
( ]?V:+>t=
Mat.material2.diff_color_map=bitmaptexture() M:.+^.h
Mat.material2.diff_color_map.filename=((getFilenamePath BM.filename) as string)+(selected_txt as string) [zl4"|_`
Mat.material2.diff_color_map.coords.U_Tiling=-1 o;DK]o>kH
Mat.material2.diff_color_map.alphasource=A_S "1\GU1x
) {\k }:)
(classof Mat.material2==VRayMtl): "3 ++S
( \FX"A#
Mat.material2.texmap_diffuse=bitmaptexture() 3_9CREZCl
Mat.material2.texmap_diffuse.filename=((getFilenamePath BM.filename) as string)+(selected_txt as string) uF[*@N
Mat.material2.texmap_diffuse.coords.U_Tiling=-1 ukVBC"Ny
Mat.material2.texmap_diffuse.alphasource=A_S T12Zak4.=
) -da: j-_
) [+l6x1Am
) p(="73
4i&Rd1#0dI
) *ZLisq-f
zN;P_@U
)--End of Material Function z6;hFcO
0s{7=Ef
--Material Function for single sided material Z]tQmV8e
Dm}M8`|X
( >!lpI5'Z&
fn image_fromIFL2 Mat numb = imzPVGCD{
( b$Dh|-8
local selected_txt =O8>[u;
IFL_file=openFile BM.filename --Loads the IFL file 1ZRkVHiz0
Y6)o7t
v@M^ukk'}
--Each readline command reads the next line for the loaded ifl f{[0;qDJ
--Run the command until it reaches the desired line ; Ad5Jk
if numb > bm.numframes then numb = bm.numframes
Su?cC/
for i = 1 to numb do -}h^'#
( _'L16@q
Selected_txt=readLine IFL_file _!,
J iOI
) BbCO K
case of ]PoWL;E'
( u-4@[*^T$
(classof mat==standardmaterial): 6W=V8
( SUUN_w~
mat.diffuseMap=bitmaptexture() ?8GS*I
Mat.diffuseMap.filename=((getFilenamePath BM.filename) as string)+(selected_txt as string) 2xX:Q'\2
showtexturemap Mat Mat.diffusemap on 5Lej_uqF
) ^rP]B-)
(classof mat==Arch___Design__mi): PS[ C!s&KE
( |llJ%JhF
mat.diff_color_map=bitmaptexture() Xw!\,"{s
Mat.diff_color_map.filename=((getFilenamePath BM.filename) as string)+(selected_txt as string) ` K{k0_{
showtexturemap Mat Mat.diff_color_map on @CL#B98jl
) }P
fAf
(classof mat==VRayMtl): d`B<\Y#{Us
( Hn(1_I%zF
mat.texmap_diffuse=bitmaptexture() L8PX SJ
Mat.texmap_diffuse.filename=((getFilenamePath BM.filename) as string)+(selected_txt as string) $P0q!
showtexturemap Mat Mat.texmap_diffuse on &o;0%QgF
) ~&73f7
) gtA34iw
) rXX>I;`&
GYaP"3Lu
)--End of singlesided Material Function 'Be'!9K*d
&oS$<
`S@TiD*
--PREVIEW FUNCTION F`nQS&y
fn preview_page_rig page_count page_width page_length page_gap length_segs width_segs Flexer_crease_center Flexer_crease_area flexer_max_angle flexer_random turner_crease_center turner_crease_area turner_max_angle lander_crease_center lander_crease_area lander_max_angle ext_rot= pFd8p@m_2
( c0@8KW[,
if $preview_page != undefined then (delete $preview_page / delete $preview_dups*) \WCQ>c?~
animate off .gRj^pu
kacSayfa=page_count H$(bSw$
@^W`Yg)C
page_list_array=#() n{;j
temp_plate = plane length:page_length width:page_width lengthsegs:length_segs widthsegs:width_segs _IDZ.\'>$
move temp_plate [(page_width/2),0,0] BX@Iq
temp_plate.pivot = [0,0,0] i--t
?@#
{*ak>Wud
flexer_a=bend bendaxis:0 fromTo:on bendTo:Flexer_crease_area bendfrom:0 ~U9K<_U
flexer_a.center=[flexer_crease_center,0,0] N@q}eGe
turner=bend bendaxis:0 fromTo:on bendTo:Turner_crease_area bendfrom:0 n|SV)92o1
turner.center=[-(page_width/2+turner_crease_center),0,0] }]?Si6_ZZ
turner.gizmo.rotation=(eulerangles 0 ext_rot 0) -- Rotation for compansation ':'g!b`/
turner.gizmo.position=[(-((page_width/2) - (cos( (ext_rot))*(page_width/2)))),0,(((abs(sin( (ext_rot)))) * (page_width/2)) + ((abs(sin(radToDeg (0)))) * (page_width/2)))] --Transform fix of the not-pivot-oriented rotation ^QB[;g.O
lander=bend bendaxis:0 fromTo:on bendTo:0 bendFrom:-lander_crease_area C_.9qo]DT7
lander.center=[((-page_width)+lander_crease_center),0,0] +]db-
temp_plate.wirecolor=green ou|emAV
temp_plate.name = "preview_page" Ac7^JXh%
resettransform temp_plate S2~cAhR|M
FqKJids-
for i = 1 to kacSayfa do 90}{4&C.^
( Pf?kNJ*Tv)
t = copy temp_plate |m19fg3u
t.wirecolor=blue bdUPo+
t.name = uniquename "preview_dups" H#-3
move t [0,0,-((i as float)/(100-page_gap))] 0ju1>.p
) ^6 6!f 5^W
Ycm)PU ["
with animate on OfsP5*d
( mgxIxusR
at time 0 turner.bendTo=Turner_crease_area+50 +bjy#=
at time 2 turner.bendangle=0 IS C.~q2
at time 0 flexer_a.bendangle=0 ~iw&^p|=K
at time 7 flexer_a.bendangle=-(Flexer_max_angle) LyUn!zV$(
,RP-)j"Wff
at time 10 lander.bendangle=0 3f|}p{3
at time 12 flexer_a.bendangle=(Flexer_max_angle)-(((Flexer_max_angle)/100)*25) V>$( N/1
at time 14 flexer_a.bendangle=0 0V%c%]PH
at time 12 turner.bendangle=-(Turner_max_angle) ?z
,!iK`
at time 14 lander.bendangle=-(Lander_max_angle) {N(qS'N
at time 14 turner.bendTo=Turner_crease_area ,"qCz[aDN1
%zavSm"
`At.$3B
if takeapart==true then l,ny=Q$[1'
( "tCI_
Zi;
at time 8 turner.gizmo.position=[0,0,0] {9IRW\kn
at time 14 turner.gizmo.position=[-30,0,0] Q+CJd>B
setafterORT turner.gizmo.position.controller #linear UG1<Xfu|
turner.gizmo.position.x_position.keys[3].intangenttype = #linear Khq\@`RaT
) iIfiv<(ChM
UlXm4\@
) Gz`Jzh
j
addmodifier temp_plate (flexer_a) @kXuC<
addmodifier temp_plate (turner) ~z^l~Vyg?
addmodifier temp_plate (lander) 8 Ku9;VEk
) deVd87;@7[
3 s\UU2yr
--REAL FUNCTION ui]iOp
fn page_rig page_count page_width page_length page_gap length_segs width_segs Flexer_crease_center Flexer_crease_area flexer_max_angle flexer_random turner_crease_center turner_crease_area turner_max_angle lander_crease_center lander_crease_area lander_max_angle ext_rot= lp*5;Ls'q
]t[%.^5#
( &Vj@){
animate off Gm+D1l i
Vmz#u1gGT6
kacSayfa=page_count osc8;B/
[_N1
.}e
page_list_array=#() 9WHE4'Sa
temp_plate = plane length:page_length width:page_width lengthsegs:length_segs widthsegs:width_segs ;&lXgC^*
move temp_plate [(page_width/2),0,0] $`xpn#lz
temp_plate.pivot = [0,0,0] i7RK*{
q~>!_q]FE
flexer_a=bend bendaxis:0 fromTo:on bendTo:Flexer_crease_area bendfrom:0 4n#u?)
flexer_a.center=[flexer_crease_center,0,0] THl:>s
turner=bend bendaxis:0 fromTo:on bendTo:Turner_crease_area bendfrom:0 4#t'1tzu#
turner.center=[-(page_width/2+turner_crease_center),0,0] _Q:ot'(~0-
turner.gizmo.rotation=(eulerangles 0 ext_rot 0) -- Rotation for compansation *b;)7lj0h
turner.gizmo.position=[(-((page_width/2) - (cos( (ext_rot))*(page_width/2)))),0,(((abs(sin( (ext_rot)))) * (page_width/2)) + ((abs(sin(radToDeg (0)))) * (page_width/2)))] --Transform fix of the not-pivot-oriented rotation 3SM'vV0[
lander=bend bendaxis:0 fromTo:on bendTo:0 bendFrom:-lander_crease_area ~N/%R>(v
lander.center=[(-page_width)+lander_crease_center,0,0] )^UqB0C6^
l="(Hp%b
resettransform temp_plate 06NiH-0O
#WA7}tHb
with animate on DmoY],9I+p
( gy1kb,MO
at time 0 turner.bendTo=Turner_crease_area+50 zt((TD2
at time 2 turner.bendangle=0 G>Bgw>#_
at time 0 flexer_a.bendangle=0 7ey|~u2
at time 7 flexer_a.bendangle=-(Flexer_max_angle) b%VBSNZ
at time 10 lander.bendangle=0 <q MX,h2
at time 12 flexer_a.bendangle=(Flexer_max_angle)-(((Flexer_max_angle)/100)*25) AED
9vDE
at time 14 flexer_a.bendangle=0 :U1V 2f'l3
at time 12 turner.bendangle=-(Turner_max_angle) Pi&\GMzd
at time 14 lander.bendangle=-(Lander_max_angle) r|jBKq~
at time 14 turner.bendTo=Turner_crease_area F7p`zf@O]
) RvW>kATb_F
WsM/-P1Y
MasCtrl = point pos:[0,0,0] box:on size:50 D@mqfi(x
MasCtrl.name = "Master_Control" $L"-JNS
empt = EmptyModifier () "%t !+E>nr
addmodifier MasCtrl empt V> eJ
LZ9IE>sj
----duplicate planes----- j%&^qD,
double_mat=doublesided() w<4){.dA
for i = 1 to kacSayfa do 3412znM&
( 4VL]v9
yYTiAvN
t = copy temp_plate D#9W [6
--MATERIAL M*c`@\
if doubleS == false then ZjJEjw
( 'W j Q
if frontMaterial != undefined then bsmnh_YRj
( #/1,Cv yj
t.material = copy frontMaterial N|1k6g=0
if bm != undefined then VL<)d-
( [H)p#x
image_fromIFL2 t.material i GRj{*zs
) W~QZ(:IK
) femAVx}go
) +B'9!t4 2
]0dp^%
if doubleS == true then c{#lKD<7
( KFC zf_P!
if frontMaterial !=undefined and backMaterial != undefined then +]|J
( /{1 xpR
t.material = copy double_mat ;nv4lxm
t.material.material1=frontmaterial ;Fuxj!gF
t.material.material2=backmaterial 6576RT
if bm != undefined then z6FG^
( ?~S\^4]
image_fromIFL t.material s bW`
showtexturemap t.material t.material.material1.diffuseMap on )X| uOg&|
) :fpYraBM
) "PJ@Q9n__
) }QG6KJh_%
m[ txKj.=_
------ {b+!0[
t.parent = MasCtrl 7PP76$
move t [0,0,-((i as float)/(100-page_gap))] oe4Fy}Y_;
addmodifier t (copy flexer_a) i+T$&$b
addmodifier t (copy turner) @y)-!MHN(8
addmodifier t (copy lander) d^WVWk K
if Flexer_random = true then SS@#$t:
( Bk>Ch#`Bw
t.modifiers[3].gizmo.rotation = eulerangles 0 0 (random -25 25) --FLEXER modifier +'hcFZn(T
) VGA?B@
zar=random 1 apr !YsLx[+
if takeapart == true and zar == 1 then hf8=r5j=
( FSIV\ u
D%Hz'G0|
t.modifiers[2].gizmo.rotation=eulerangles 0 0 (random -takerandomVal takerandomVal) @T|mHfQ8
with animate on "<t/*$42
( Pj8s;#~u
at time 8 t.modifiers[2].gizmo.position=[0,0,0] IFH%R>={
at time 12 t.modifiers[2].bendangle=-(random takestart takeend) S`5^H~
at time 14 t.modifiers[2].gizmo.position=[-30,0,0] {Fta4D_1N
setafterORT t.modifiers[2].gizmo.position.controller #linear <}pqj3
t.modifiers[2].gizmo.position.x_position.keys[3].intangenttype = #linear z0t6}E<VIR
setafterORT t.modifiers[3].bendangle.controller #linear Jb#*QJ=
t.modifiers[3].bendangle.keys[3].outtangenttype = #linear #%il+3J
) C=t:0.:PJ
) {l-,Jbfi`
t.pivot = [0,((i as float)/100),0] Psp3~Kg
t.modifiers[2].bendTo+=((i as float)/((100-page_gap)/5)) --TURNER modifier x#|=.T
:+|b7fF
movekeys t ((i*14)-14) 7]_UZ)u
append page_list_array t xAMj 16ZF
) L[)+J2_<
delete temp_plate /ZlW9|
R|%
3JE0
------------------------------------------------------------------------------ *,-)4)7d
!ge,]@/
ca=attributes FlipControl w:I^iI.
( ',n;ag`c
parameters Flip rollout:FlipR %4Ylq|d
( P1]ucu_y,
Flip type:#float ui:(Flipsp) G1
%c<1Y
shuffle type:#float ui:(ShuffleSP) B 9KY$^J
HuBG?4Qd
) B3@
rollout FlipR "Page" z11;r]VI
( J4 .C"v0a
local fW = 40, oS = [0,-23] l %=yT6
spinner Flipsp "Page" type:#float range: [0,9999,0] fieldwidth:fW E
`Ualai
spinner ShuffleSP "Shuffle" type:#float range:[-9999,9999,0] fieldwidth:fW q<o*rcwf^
) H[@uE*W
) ( t#w@<
^_9 ^iL
custAttributes.add MasCtrl.modifiers[1] ca X5U_|XK6Y
>&TSz5Q
Flip_exp = Bezier_Float () A^q= :ofQ
Flip_exp2 = Bezier_Float () @ \J R xJ
Flip_exp3 = Bezier_Float ()
*=ftg&
Flip_exp4 = Bezier_Float () X_C9Z
Flip_exp5 = Bezier_Float () KSIH1E
Flip_exp6 = Bezier_Float () 6?Q&>V26Y
Flip_exp7 = Bezier_Float () <4bv=++pS
MasCtrl.modifiers[1].FlipControl.flip.controller = Bezier_Float () kF3 EJ
{.bLh0
ec=linear_float() }U7>_b2
with animate on E87/B%R
( DX}EOxO,.
at time 0 ec.value=0 $qD8vu )|j
at time 100 ec.value=100*ticksPerFrame ^c< <I-o|
) c[!e*n!y
setBeforeORT ec #linear -yg9ug
setAfterORT ec #linear tH5f;mY,
b6bmvHD
for i = 1 to page_list_array.count do MgHyKn'rL
( zN].W\("\
addeasecurve page_list_array.modifiers[1].bendAngle.controller Flip_exp 20^F -,z
addeasecurve page_list_array.modifiers[1].bendAngle.controller Flip_exp 1dfA
8=L,s
page_list_array.modifiers[1].bendAngle.controller[1].controller = float_list() ?-#w [J'6
page_list_array.modifiers[1].bendAngle.controller[1].controller[1].controller = ec >m}.}g8
page_list_array.modifiers[1].bendAngle.controller[1].available.controller = bezier_float() t1Hd-]28V
wIxLr{
addeasecurve page_list_array.modifiers[2].gizmo.position.x_position.controller Flip_exp7 feNr!/
addeasecurve page_list_array.modifiers[2].gizmo.position.x_position.controller Flip_exp7 o"Ef>5N
page_list_array.modifiers[2].gizmo.position.x_position.controller[1].controller = float_list() X?>S24I"9
page_list_array.modifiers[2].gizmo.position.x_position.controller[1].controller[1].controller = ec v
bb mmv
page_list_array.modifiers[2].gizmo.position.x_position.controller[1].available.controller = bezier_float() 4LBjqv,P
U%gP2]t%cs
addeasecurve page_list_array.modifiers[3].bendAngle.controller Flip_exp3 =C`v+NPM)|
addeasecurve page_list_array.modifiers[3].bendAngle.controller Flip_exp3 V_+3@C
page_list_array.modifiers[3].bendAngle.controller[1].controller = float_list() Ao{wd1
page_list_array.modifiers[3].bendAngle.controller[1].controller[1].controller = ec ~e%*hZNo
page_list_array.modifiers[3].bendAngle.controller[1].available.controller = bezier_float() H[-zQ#I9
]t(g7lc}U
addeasecurve page_list_array.modifiers[2].bendAngle.controller Flip_exp2 )x( *T
addeasecurve page_list_array.modifiers[2].bendAngle.controller Flip_exp2 .YS[Md{
page_list_array.modifiers[2].bendAngle.controller[1].controller = float_list() _BR>- :Jr
page_list_array.modifiers[2].bendAngle.controller[1].controller[1].controller = ec `uzRHbJ`
page_list_array.modifiers[2].bendAngle.controller[1].available.controller = bezier_float() 3*8#cSQ/6o
VaX>tUW
addeasecurve page_list_array.modifiers[2].bendTo.controller Flip_exp4 [fO]oTh
addeasecurve page_list_array.modifiers[2].bendTo.controller Flip_exp4 k U3]
eh\I
page_list_array.modifiers[2].bendTo.controller[1].controller = float_list() a2).Az
page_list_array.modifiers[2].bendTo.controller[1].controller[1].controller = ec t$Qav>D
page_list_array.modifiers[2].bendTo.controller[1].available.controller = bezier_float() C
#TS
->93.sge
addeasecurve page_list_array.rotation.y_rotation.controller Flip_exp5 OM,uR3,
W}T+8+RU
deger=39.1 rJ<v1Yb
$e<3z6
/u#uC(Uwl
paramWire.connect MasCtrl.modifiers[1].FlipControl[#flip] page_list_array.modifiers[2].bendAngle.controller[2] ("radtodeg flip *"+deger as string) -y$|EOi?
paramWire.connect MasCtrl.modifiers[1].FlipControl[#flip] page_list_array.modifiers[2].bendTo.controller[2] ("radtodeg flip *"+deger as string) (wbG0lu
paramWire.connect MasCtrl.modifiers[1].FlipControl[#flip] page_list_array.modifiers[2].gizmo.position.x_position.controller[2] ("radtodeg flip *"+deger as string) eOLS
paramWire.connect MasCtrl.modifiers[1].FlipControl[#flip] page_list_array.modifiers[1].bendAngle.controller[2] ("radtodeg flip *"+deger as string) ]LP&v3
paramWire.connect MasCtrl.modifiers[1].FlipControl[#flip] page_list_array.modifiers[3].bendAngle.controller[2] ("radtodeg flip *"+deger as string) 4}?Yp e-
h^[K= J
paramWire.connect MasCtrl.modifiers[1].FlipControl[#flip] page_list_array.rotation.y_rotation.controller[#Ease_Curve] ("radtodeg flip *"+deger as string) ]A!Gr(FHQ
bCE[oi6hb
"4L' 2w+
paramWire.connect MasCtrl.modifiers[1].FlipControl[#Shuffle] page_list_array.modifiers[2].bendAngle.controller[1].controller[2] (("shuffle*"+(formattedprint i))+("-shuffle")) Yo:>m*31
paramWire.connect MasCtrl.modifiers[1].FlipControl[#Shuffle] page_list_array.modifiers[2].bendTo.controller[1].controller[2] (("shuffle*"+(formattedprint i))+("-shuffle")) YMJjO0
paramWire.connect MasCtrl.modifiers[1].FlipControl[#Shuffle] page_list_array.modifiers[1].bendAngle.controller[1].controller[2] (("shuffle*"+(formattedprint i))+("-shuffle")) mJWl#3
paramWire.connect MasCtrl.modifiers[1].FlipControl[#Shuffle] page_list_array.modifiers[2].gizmo.position.x_position.controller[1].controller[2] (("shuffle*"+(formattedprint i))+("-shuffle")) t5e% "}>7H
paramWire.connect MasCtrl.modifiers[1].FlipControl[#Shuffle] page_list_array.modifiers[3].bendAngle.controller[1].controller[2] (("shuffle*"+(formattedprint i))+("-shuffle")) )S>~ h;
~M43#E[oOF
) wCc:HfmjJ
8[}MXMRdb
) tQ] R@i
}^P( p?~
-------------------ROLLOUT---------------------------- ;>|:I(l;
(--UI start mKWA-h+f
Fi(_A
global PRig Y.jg
}oV
try(destroyDialog PRig )catch() U*v//@WbH
uXu'I
j[) i>Qw
Fw1=30 R7Hn8;..
Fw2=30 rb&^ ei9B
rollout PRig "Book Rigger V2.21" width:292 height:450 az0( 54M
( %|oY8;0|A>
groupBox grp4 "Page Properties" pos:[8,8] width:136 height:160 9v<BO$
,a
spinner pcount "Page Count" pos:[24,24] width:112 height:16 enabled:true range:[1,9999,50] type:#integer scale:0.1 fieldwidth:fW1 BalOph4M[
spinner pwidth "Page Width" pos:[24,48] width:112 height:16 enabled:true range:[1,9999,48] type:#float scale:0.1 fieldwidth:fW1 ,LWM}L
spinner plength "Page Length" pos:[24,72] width:112 height:16 enabled:true range:[1.0,9999.0,68] type:#float scale:0.1 fieldwidth:fW1 W&BwBp]K
spinner pgap "Page Gap" pos:[24,96] width:112 height:16 enabled:true range:[1,99,50] type:#float scale:0.1 fieldwidth:fW1 @MAk/mb&
spinner lsegments "Length Segments" pos:[24,120] width:112 height:16 enabled:true range:[1,9999,10] type:#float scale:0.1 fieldwidth:fW1 9BNAj-Xa
spinner wsegments "Width Segments" pos:[24,144] width:112 height:16 enabled:true range:[1,9999,50] type:#float scale:0.1 fieldwidth:fW1 \9@*Jgpd6*
groupBox grp1 "Flexibility" pos:[155,8] width:130 height:112 i
LK8Wnrq
spinner F_c_center "Crease Center" pos:[155,24] width:120 height:16 range:[-9999,9999,0] fieldwidth:fW2 5|S|HZ8G
spinner F_c_area "Crease Area" pos:[155,48] width:120 height:16 range:[1,999,54] fieldwidth:fW2 6~;fj+S
spinner F_MaxAngle "Max Angle" pos:[155,72] width:120 height:16 range:[-9999,9999,190] fieldwidth:fW2 ~e,
checkbox F_Random "Randomize Gizmo" pos:[175,96] width:128 height:16 checked:true >:Xzv
groupBox grp2 "Turn" pos:[155,122] width:130 height:112 4#;rv$
{
spinner T_c_center "Crease Center" pos:[155,138] width:120 height:16 range:[-9999,9999,0] fieldwidth:fW2 9SC#N5V
spinner T_c_area "Crease Area" pos:[155,162] width:120 height:16 range:[0,999,3] fieldwidth:fW2 DtXXfp@;
spinner T_MaxAngle "Max Angle" pos:[155,186] width:120 height:16 range:[-9999,9999,185] fieldwidth:fW2 1K09iB
spinner T_eRot "Crease Level" pos:[155,210] width:120 height:16 range:[-9999,9999,0] fieldwidth:fW2 V\!FD5%
groupBox grp3 "Landing" pos:[155,240] width:130 height:88 q|=tt(}G
spinner L_c_center "Crease Center" pos:[155,256] width:120 height:16 range:[-9999,999,0] fieldwidth:fW2 '[`.&-;
spinner L_c_area "Crease Area" pos:[155,280] width:120 height:16 range:[1,999,10] fieldwidth:fW2
2Z7smDJ
spinner L_MaxAngle "Max Angle" pos:[155,304] width:120 height:16 range:[-9999,9999,5] fieldwidth:fW2 `^wF]R
groupBox grp5 "Material" pos:[8,168] width:136 height:161 _
nS';48
checkbox dblsided "Double Sided" pos:[16,183] checked:false A6q,"BS^d
checkButton frontMat "Select Front Mat." pos:[16,200] width:120 height:16 9]1-J5iO
checkButton backMat "Select Back Mat." pos:[16,220] width:120 height:16 enabled:false kxThtjgv
button Dif_txt_but "Select Sequence (Dif)" pos:[16,240] width:120 height:16 !COaPrg
groupBox grp6 "Alpha Source" pos:[16,260] width:120 height:65 _GI [SzD
radioButtons alphaSource "" pos:[24,276] width:102 height:62 labels:#("Image Alpha", "RGB Intensity", "None (Opaque)") columns:1 Vy-H3BR
Vnv<]D
zC
groupBox grp7 "Take Apart" pos:[8,335] width:275 height:100 vb5tyY0c
checkbox enablethorn "Enable Taking Pages Apart" pos:[16,350] checked:false sJt&`k Z
spinner apro "Take apart approximately 1/" range:[1,9999,2] fieldwidth:30 type:#integer pos:[16,370] enabled:false 7 82NiVed
label ldef1 "of total pages" pos:[200,370] enabled:false yY`<t
checkbox rThornGizmo "Randomize Direction" pos:[16,390] checked:true enabled:false CuT[V?^iD
c 6E@+xU
spinner rdegree "" range:[0,360,50] fieldwidth:40 pos:[142,390] enabled:false -Ww'wH'2
label ldef2 "degrees" pos:[200,390] enabled:false PO<4rT+B
spinner tstart "Take apart between " range:[0,360,100] fieldwidth:40 pos:[16,413] enabled:false 5<,}^4wWZ
spinner tend "" range:[0,360,180] fieldwidth:40 pos:[175,413] enabled:false (`!?p ^>A
label ldef3 "degrees" pos:[235,413] enabled:false 5a5I+*
c
i7cMe8
button help "Help" pos:[8,440] width:80 height:24 sJw3o7@pg
checkButton prev "Preview" pos:[107,440] width:80 height:24 Vyu 0OiGcR
button goo "Go" pos:[204,440] width:80 height:24 3xp%o5K
(NScG[$}
-------------------------------------------------------------------------------------------------------------------------------------------- hi`\3B
fn updateAS = k8 ,.~HkU
( |9~{&<^X
a_s = case alphaSource.state of NVcL9"ht*@
( 4g$mz:vo
1: 0 |L%F`K>Z:
2: 1 )l\BZndf
3: 2 ]lXTIej`dy
) s'tmak-}|
) z X2BJ
: \:jIP
on tstart changed value do rgRh ySud
( X%h1r`h&
takestart=tstart.value Q*^zphT
if tstart.value >= tend.value then tstart.value=tend.value ALiA+k N
) DHaSBk
Io|NL6[
7 1z$a
on tend changed value do ']Nw{}eS`
( ([qw#!;w;
takeend=tend.value S=U*is
if tend.value <= tstart.value then tend.value=tstart.value %t([
) c]P`U(q9TV
exiCy1[+
on rThornGizmo changed state do ?i>.<IPOq
( j="{^b
takeRandom=state s_N?Y)lS+(
) uCB7(<
v/
dSz/<]
on rdegree changed value do ^w5`YI4<
(takeRandomVal=value) 4nmc(CHQ:
x{`>Il
on apro changed value do HFu#-}iNV
(apr=apro.value) H4ml0SS^
I,OEor6%R(
on enablethorn changed state do 6}ct{Q
( ;N6Euiz
FO#`}? R`
if state == true then O>9+tQ
( owHhlS{
apro.enabled=true &,/_"N"?D
ldef1.enabled=true 'yd<<BM`
rThornGizmo.enabled=true 9aky+
rdegree.enabled=true (!`TO{ !6P
ldef2.enabled=true Khp`KPxz%
takeapart=true ^GMM%
tstart.enabled=true QS.t_5<U
tend.enabled=true y^pzqv
ldef3.enabled=true iv@ey-,<
) N6yPuH
else 8Ac5K!
( /sHWJ?`&/,
apro.enabled=false -:Up$6PR
ldef1.enabled=false cZ>h [XX[
rThornGizmo.enabled=false E2J.t`H
rdegree.enabled=false %C}TdG(C
ldef2.enabled=false x%<oeM3U
takeapart=false p) #7K
tstart.enabled=false aH@GhI^@
tend.enabled=false c*iZ6j"iI
ldef3.enabled=false %p? +r
) 7&ty!PpD
(if prev.checked == true then (preview_page_rig pcount.value pwidth.value plength.value pgap.value lsegments.value wsegments.value F_c_center.value F_c_area.value F_MaxAngle.value F_Random.state T_c_center.value T_c_area.value T_MaxAngle.value L_c_center.value L_c_area.value L_MaxAngle.value T_eRot.value)) 1$1s0yg
~CTe5PX c
) sw:o3cC]
k{M4.a[(
jS_fwuM
on alphaSource changed state do updateAS() x}acxu 2H7
#2&DDy)Bf
on help pressed do -)='htiU
( 8 K7.; t1
messagebox " .Oh4b5
-Page Properties- l+%2kR
-Page Count: Defines number of pages }(*eR F'
-Page Width: Defines width of each leaf Nn`l+WA3
-Page Length: Defines width of each leaf UG@9X/l}
-Page Gap: Defines gap between pages U-b(
-Length Segments: Defines vertical resolution !c 3c%=W
-Width Segments: Defines horizontal resolution 5uo?KSX%
-Material t[dOWgHi
If no Material and sequence is selected, pages wont have any materials. g?TPRr~$9
-Double Sided: Check to assign seperate materials to the front .el&\Jt
and back of each page. When a sequence is selected with this option, x6h';W_ 8
It may take longer to assign materials and consumes more memory. ?h$
=]
-Select Front Mat.: When pressed, it pops up material editor. Use the first QsO%m
slot of the material editor to assign materials to the front of each page. GBh$nVn$
-Select Back Mat.: When pressed, it pops up material editor. Use the first >e'Hz (~'/
slot of the material editor to assign materials to the back of each page. ?3duW$`
-Select Sequence: This image sequence will be used in materials' diffuse maps Xur{nk~?
as bitmap texturemaps. Each page will get the corresponding frame of the (yr<B_Y'MY
image sequence. 1M={8}3
-Alpha Source: Select the alpha option of the selected image sequence. z1AYXW6F
-Flexibility 5#WyI#YNG
This group controls secondary flexibility of each page. !gyEw1Re7
-Crease Center: Gives offset to the center of the crease ##\
<mFE
-Crease Area: Defines the length of the crease area. Larger numbers means I{8sLzA03S
smoother creases. > &V Y
-Max Angle: Defines the maximum angle of the secondary flexibility. OL2 b
-Randomize Gizmo: Randomizes orientation of the corresponding gizmo by 25 degrees g'pB<?'E'
-Turn #;lB5) oe
This group controls main turning animation CKuf'h#
-Crease Center: Gives offset to the center of the crease D| gI3i
-Crease Area: Defines the length of the crease area. Larger numbers means M&h`uO/[
smoother creases. 3;F+.{Icc
-Max Angle: Defines the maximum angle of the page. |%tI!RN):
-Landing W*!u_]K>
This group controls the smoothness of page when landing to the ground. ;XDGlv%
-Crease Center: Gives offset to the center of the crease p( 6!7t:
-Crease Area: Defines the length of the crease area. Larger numbers means ^;DbIo\6H
smoother creases. IS[&V&.n
-Max Angle: Defines the maximum angle of landing crease. SJd,l,Gg)
bi<?m^j
-Take Apart rD*CLqK
This group controls the pages which will taken apart from the book. w.9'TR
-Enable Taking Pages Apart checkbox: Check this box to make pages removable. #
ZcFxB6)
-Take apart approximately 1/n of total pages: It will define the percentage of the pages TD"w@jBA
which will be effected. SBog7An9SI
-Randomize Direction: Pages will get random directions within the given value. ADW>
For example, if it is 10, pages will be send at random directions between -10 and +10 degrees go[(N6hN
-Take apart between n degrees: It will define at what angle pages will be removed from the book. h}@)oSX
}
)<8f3;qd
-Preview ye^l~
Use this option to preview creases, landing, page count, page gap etc. C?h`i ^ >2
When pressed, it only simulates one frame, the animation can be checked by ,f2tG+P
scrubbing the time slider. d%C:%d
7Ew.6!s#n1
-Go *M^t@ h l
Press to rig the Book. You can animate the pages through Master_Control %J%ZoptY:
point object Wgr`)D
" jh3XG
) ``j8T[g
,*}5xpX
on dblsided changed state do e_{!8u.+
if(state==true) then
.gS
x`|!
( MlBw=Nr
BackMat.enabled = true ^3:y<{J
doubleS=true acdWU"<
) OalBr?^
else ^twJNm{99
( [=xJh?*P
BackMat.enabled = false Q:#Kt@W
doubleS=false %}*0l8y
) nfV32D|3
-------------------------------------------- [3#A)#kWm
on FrontMat changed state do i47xF7y\
( VZJ[h{ 6
if state == on and dblsided.checked == false then 22<T.c
( }uTe(Rf
backMat.enabled = false JrkjfoN
) p
FkqDU
if state == off and dblsided.checked == true then H$/r{gfg^
( r.V< 5xV
backMat.enabled =true zgdOugmmt_
) <u"h'e/oW_
if(state==true) then vIoV(rc+
( @Ik@1
backupM=meditMaterials[1] +N9(o+UrU
MatEditor.Open() }a(x
L'F
medit.setactivemtlslot 1 true 0ang^v;q
if(FrontMaterial==undefined) then NC*h7
meditMaterials[1]=standardMaterial() ?Afx{H7
else "G8w}n:y
meditMaterials[1]=FrontMaterial EH'?wh|Yp
FrontMat.text="Click When Done" m,e@bJ-
y7I')}SC
) 3
;F=EMz{
else y[*Bw)F\N
( 9HOdtpQOV
MatEditor.close() tQy@d_a=y
if((classof meditMaterials[1]) == standard or (classof meditMaterials[1]) == Arch___Design__mi or (classof meditMaterials[1]) == VRayMtl) then @`N)`u85[
( ~M 6^%
FrontMaterial=meditMaterials[1] Vwp fkD`
FrontMat.text=FrontMaterial.name + " ( " +((classof FrontMaterial) as string) +" )" =N,Mmz%
meditMaterials[1]=backupM $cri"G
) iHo2=Cz
else @|xcrEnP}B
( N(v<*jn
messagebox "Only Standard, Arch Design (Mental Ray) or Vray Materials!!" 5taYm'
FrontMat.text="Select Front Material" I\O<XJO)_
) _r8.I9|
) 2H8,&lY.p
N5 SK_+
) N^A&DrMF
N<$U:!Z
--------------------------- }tT"vCu
^1M :wXr
on FrontMat rightclick do \3(d$_:b
( WR=e$;
if keyboard.shiftPressed == true then
M@S6V7
( Y9ueE+6
FrontMaterial = undefined pPm[<^\# S
FrontMat.text="Select Front Material" QA\eXnR
) ~?8B~l^
) WK]SHiHD
:^FOh*H
------------------------------ nC^?6il
N7k<q=r-
on BackMat changed state do Oz!#);v
( ZurQr}
if state == on then ~aa`Y0Ws],
( 1tU}}l
frontmat.enabled = false 8P.UB{QNe
) w35r\x +
else [R-4e; SRh
( {C Qo}@.7
frontmat.enabled =true Lc(D2=%
) aQ mgDF
ork/:y9*y
if(state==true) then $Z(fPKRN/
( _S5\5[^
backupM=meditMaterials[1] | iEhe
MatEditor.Open() q1a}o%
medit.setactivemtlslot 1 true 68?oV)fE
if(BackMaterial==undefined) then `'9Kj9}
meditMaterials[1]=standardMaterial() -=,%9r
else 6r"uDV #0
meditMaterials[1]=BackMaterial fI(u-z~,
BackMat.text="Click When Done" |$@/
Z+
;K 38I}
) Q>[*Y/`I
else .E:[\H"
( ?PORPv#
MatEditor.close() g/,fjM_
if((classof meditMaterials[1]) == standard or (classof meditMaterials[1]) == Arch___Design__mi or (classof meditMaterials[1]) == VRayMtl) then CK[2duf^~
( 3;=nQ{0b
BackMaterial=meditMaterials[1] }T%;G /W
Xm`s=5%
BackMat.text=BackMaterial.name + " ( " +((classof BackMaterial) as string) +" )" pj>b6^TI6C
meditMaterials[1]=backupM Y W_E,A>h
) @
fm\
H
else hH:7
( }/BwFB+(/
messagebox "Only Standard, Arch Design (Mental Ray) or Vray Materials!!" 6"Q/Y[y
BackMat.text="Select Front Material" Ga~N7
) HRi~TZ?\
) W+PAlsOC
r:K)Q@
) M x j
8h9t8?
------------------------------ ?6Cbx6
Y{Kpopst
on BackMat rightclick do g.f!Uc{
( 3?Y%|ZVM
if keyboard.shiftPressed == true then 1iaNb[:QX
( =Y|TShKk
BackMaterial = undefined =sedkrM
BackMat.text="Select Back Material" a}`4BMi3
) )z3mS2
) s`Z(f:/6*
4PTHUyX
------------------------------ E&
T9R2Y
fS-#dJC";`
on Dif_txt_but pressed do -`]B4Nt6
( Nol',^)
BM = selectBitmap () ({Fus@/
if BM.numframes < 2 then (Z)
( Y1{6lhxgE
messagebox "please select an image sequence" IyOujdKa
BM=undefined (o{QSk\
) {#=q[jVi%1
if BM != undefined then o&rejj#
(Dif_txt_but.text = BM.filename) iK(n'X5i
) $tj[*
n0@e%=H)I
on Dif_txt_but rightclick do & @^|=>L
( wjoxfPnf
if keyboard.shiftPressed == true then MCe=R R
( `DC)U1
BM = undefined xV~`sqf
Dif_txt_but.text="Select Sequence (Diffuse)" /=lrdp!a
) o9<jj> R;
) wB?;3lTS
v#(wc+[
FoInJ(PDH
}a'8lwF%I
-------------------------------------------------------------------------------------------------------------------------------------------- [|<|a3']|
\H*"UgS
label l1 "Book Rigger V2.21" *9`@
label l2 "Created by Arda Kutlu" x!tCK47Yq
HyperLink website "www.ardakutlu.com" address:"http://www.ardakutlu.com" color:blue hovercolor:orange visitedcolor:blue align:#center across:2 |bO}|X
label l3 "Copyright ?2008" =sG C
on PRig close do L
V?- g
(if prev.checked == true then (delete $preview_page / delete $preview_dups*)) -nV]%vJ$R}
{}s7q|$
on pcount changed value do {3i.U028]
(if prev.checked == true then (preview_page_rig pcount.value pwidth.value plength.value pgap.value lsegments.value wsegments.value F_c_center.value F_c_area.value F_MaxAngle.value F_Random.state T_c_center.value T_c_area.value T_MaxAngle.value L_c_center.value L_c_area.value L_MaxAngle.value T_eRot.value)) T5=3 jPQ
2h@/Q)z
on pwidth changed value do
qdx(wGG
(if prev.checked == true then (preview_page_rig pcount.value pwidth.value plength.value pgap.value lsegments.value wsegments.value F_c_center.value F_c_area.value F_MaxAngle.value F_Random.state T_c_center.value T_c_area.value T_MaxAngle.value L_c_center.value L_c_area.value L_MaxAngle.value T_eRot.value)) i
?%;s5<
U,gg@!1GJo
on plength changed value do 7YV}F9h4
(if prev.checked == true then (preview_page_rig pcount.value pwidth.value plength.value pgap.value lsegments.value wsegments.value F_c_center.value F_c_area.value F_MaxAngle.value F_Random.state T_c_center.value T_c_area.value T_MaxAngle.value L_c_center.value L_c_area.value L_MaxAngle.value T_eRot.value)) bz[U<