Advertisement
LiQuidCrab

3d mask bubble

Mar 19th, 2023
790
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 6.05 KB | None | 0 0
  1. set cut_paste_input [stack 0]
  2. version 12.2 v4
  3. push $cut_paste_input
  4. Group {
  5. name 3dMask
  6. tile_color 0xbcab3bff
  7. selected true
  8. xpos 12245
  9. ypos 670
  10. addUserKnob {20 m_3dmaskBubble l M_3DMaskBubble}
  11. addUserKnob {41 in l Channel T Shuffle_Input_Channels.in}
  12. addUserKnob {4 matte l Matte M {Source Alpha "" ""}}
  13. matte Alpha
  14. addUserKnob {6 unpremultiply l Unpremult -STARTLINE}
  15. unpremultiply true
  16. addUserKnob {26 ""}
  17. addUserKnob {18 center l Center}
  18. center {0 0 0}
  19. addUserKnob {6 center_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
  20. addUserKnob {13 offset l Translate}
  21. addUserKnob {13 rotate l Rotate}
  22. addUserKnob {13 scale l Scale}
  23. scale {1 1 1}
  24. addUserKnob {7 radius l "Outer scale" R 0.01 100}
  25. radius 10
  26. addUserKnob {7 inner_radius l "Inner scale" R 0 100}
  27. addUserKnob {4 falloff l Falloff M {Linear Smoothstep Cubic "Inverse Cubic"}}
  28. addUserKnob {6 keepRGBA l "Keep RGBA only" +STARTLINE}
  29. keepRGBA true
  30. addUserKnob {6 visual l "Visualize in 3D" +STARTLINE}
  31. }
  32. Input {
  33. inputs 0
  34. name Alpha
  35. xpos -627
  36. ypos -796
  37. number 1
  38. }
  39. Dot {
  40. name Dot8
  41. xpos -593
  42. ypos -680
  43. }
  44. Input {
  45. inputs 0
  46. name Position
  47. xpos -469
  48. ypos -794
  49. }
  50. Shuffle {
  51. name Shuffle_Input_Channels
  52. xpos -469
  53. ypos -726
  54. }
  55. ShuffleCopy {
  56. inputs 2
  57. name Shuffle_Input_Alpha
  58. xpos -469
  59. ypos -684
  60. disable {{!parent.matte}}
  61. }
  62. Unpremult {
  63. name Unpremult1
  64. xpos -469
  65. ypos -637
  66. disable {{!parent.unpremultiply}}
  67. }
  68. set N96f86b00 [stack 0]
  69. Expression {
  70. temp_name0 x
  71. temp_expr0 abs(normX.x*(parent.center.r+parent.offset.x-r)+normX.y*(parent.center.g+parent.offset.y-g)+normX.z*(parent.center.b+parent.offset.z-b))
  72. temp_name1 y
  73. temp_expr1 abs(normY.x*(parent.center.r+parent.offset.x-r)+normY.y*(parent.center.g+parent.offset.y-g)+normY.z*(parent.center.b+parent.offset.z-b))
  74. temp_name2 z
  75. temp_expr2 abs(normZ.x*(parent.center.r+parent.offset.x-r)+normZ.y*(parent.center.g+parent.offset.y-g)+normZ.z*(parent.center.b+parent.offset.z-b))
  76. channel0 none
  77. channel1 none
  78. channel2 none
  79. channel3 {-rgba.red -rgba.green -rgba.blue rgba.alpha}
  80. expr3 "r == 0 && g == 0 && b == 0?0:(parent.scale.x != 1 || parent.scale.y != 1 || parent.scale.z != 1?1-(sqrt(pow2(x)/pow2(parent.scale.x)+pow2(y)/pow2(parent.scale.y)+pow2(z)/pow2(parent.scale.z))/parent.radius):1-(sqrt(pow2(x)+pow2(y)+pow2(z))/parent.radius))"
  81. name Depth_Bubble
  82. selected true
  83. xpos -469
  84. ypos -511
  85. addUserKnob {20 rotatiton l Rotation}
  86. addUserKnob {13 rad}
  87. rad {{radians(parent.rotate.x)} {radians(parent.rotate.y)} {radians(parent.rotate.z)}}
  88. addUserKnob {13 normX}
  89. normX {{cos(rad.z)*(cos(rad.y))} {sin(rad.z)*(cos(rad.y))} {-sin(rad.y)}}
  90. addUserKnob {13 normY}
  91. normY {{cos(rad.z)*(sin(rad.y)*(-sin(rad.x)))-sin(rad.z)*(cos(rad.x))} {sin(rad.z)*(sin(rad.y)*(-sin(rad.x)))+cos(rad.z)*(cos(rad.x))} {(cos(rad.y)*(-sin(rad.x)))}}
  92. addUserKnob {13 normZ}
  93. normZ {{cos(rad.z)*(sin(rad.y)*cos(rad.x))-sin(rad.z)*sin(rad.x)} {sin(rad.z)*(sin(rad.y)*cos(rad.x))+cos(rad.z)*sin(rad.x)} {cos(rad.y)*cos(rad.x)}}
  94. }
  95. Grade {
  96. channels alpha
  97. whitepoint {{"1-(min(parent.inner_radius, parent.radius)*(1/parent.radius))"}}
  98. white_clamp true
  99. name Inner_Radius
  100. xpos -469
  101. ypos -450
  102. }
  103. Dot {
  104. name Dot12
  105. xpos -435
  106. ypos -316
  107. }
  108. set N96f62400 [stack 0]
  109. Expression {
  110. expr3 "a+(a-pow(a, 2))"
  111. name Inv_Cubic
  112. xpos -287
  113. ypos -261
  114. }
  115. push $N96f62400
  116. Expression {
  117. expr3 "pow(a, 2)"
  118. name Cubic
  119. xpos -410
  120. ypos -261
  121. }
  122. push $N96f62400
  123. Expression {
  124. expr3 "smoothstep(0, 1, a)"
  125. name Smoothstep
  126. xpos -538
  127. ypos -261
  128. }
  129. push $N96f62400
  130. NoOp {
  131. name Linear
  132. xpos -667
  133. ypos -258
  134. }
  135. Switch {
  136. inputs 4
  137. which {{parent.falloff}}
  138. name Switch2
  139. xpos -469
  140. ypos -196
  141. }
  142. Dot {
  143. name Dot2
  144. xpos -435
  145. ypos -45
  146. }
  147. set N96f3b900 [stack 0]
  148. Dot {
  149. name Dot6
  150. xpos -553
  151. ypos -45
  152. }
  153. Dot {
  154. name Dot5
  155. xpos -553
  156. ypos 109
  157. }
  158. push $N96f3b900
  159. Grid {
  160. inputs 0
  161. number 8
  162. size 16
  163. color {1 0 0 1}
  164. name Grid1
  165. xpos 164
  166. ypos -797
  167. disable {{!parent.visual}}
  168. }
  169. Sphere {
  170. selectable false
  171. cast_shadow false
  172. receive_shadow false
  173. rows 16
  174. columns 16
  175. radius {{parent.radius}}
  176. rot_order XYZ
  177. translate {{parent.center.r+parent.offset.x} {parent.center.g+parent.offset.y} {parent.center.b+parent.offset.z}}
  178. rotate {{parent.rotate.x} {parent.rotate.y} {parent.rotate.z}}
  179. scaling {{parent.scale.x} {parent.scale.y} {parent.scale.z}}
  180. name Sphere1
  181. xpos 164
  182. ypos -719
  183. disable {{!parent.visual}}
  184. }
  185. Grid {
  186. inputs 0
  187. number 8
  188. size 16
  189. color {0 1 0 1}
  190. name Grid2
  191. xpos 259
  192. ypos -798
  193. disable {{!parent.visual}}
  194. }
  195. Sphere {
  196. selectable false
  197. cast_shadow false
  198. receive_shadow false
  199. rows 16
  200. columns 16
  201. radius {{"parent.radius > parent.inner_radius ? parent.inner_radius:parent.radius"}}
  202. rot_order XYZ
  203. translate {{parent.center.r+parent.offset.x} {parent.center.g+parent.offset.y} {parent.center.b+parent.offset.z}}
  204. rotate {{parent.rotate.x} {parent.rotate.y} {parent.rotate.z}}
  205. scaling {{parent.scale.x} {parent.scale.y} {parent.scale.z}}
  206. name Sphere3
  207. xpos 259
  208. ypos -720
  209. disable {{!parent.visual}}
  210. }
  211. set N96f1b200 [stack 0]
  212. push $N96f86b00
  213. Dot {
  214. name Dot1
  215. xpos -82
  216. ypos -633
  217. }
  218. set N96f1ab00 [stack 0]
  219. Shuffle {
  220. red white
  221. green white
  222. blue white
  223. alpha white
  224. name Shuffle1
  225. xpos 28
  226. ypos -497
  227. disable {{!parent.visual}}
  228. }
  229. set N96f1a400 [stack 0]
  230. push $N96f1ab00
  231. PositionToPoints {
  232. inputs 2
  233. display textured
  234. selectable false
  235. render_mode textured
  236. cast_shadow false
  237. receive_shadow false
  238. detail 0.006
  239. pointSize 4
  240. name PositionToPoints1
  241. xpos 28
  242. ypos -637
  243. disable {{!parent.visual}}
  244. }
  245. push $N96f1b200
  246. Scene {
  247. inputs 4
  248. name Scene1
  249. xpos 220
  250. ypos -657
  251. disable {{!parent.visual}}
  252. }
  253. push $N96f1a400
  254. ScanlineRender {
  255. inputs 2
  256. transparency false
  257. ztest_enabled false
  258. filter impulse
  259. max_tessellation 1
  260. motion_vectors_type off
  261. MB_channel none
  262. name ScanlineRender1
  263. xpos 210
  264. ypos -497
  265. disable true
  266. }
  267. Dot {
  268. name Dot7
  269. xpos 244
  270. ypos 39
  271. }
  272. ShuffleCopy {
  273. inputs 2
  274. in2 none
  275. red red
  276. green green
  277. blue blue
  278. name ShuffleCopy1
  279. xpos -469
  280. ypos 35
  281. }
  282. CopyBBox {
  283. inputs 2
  284. name CopyBBox1
  285. xpos -469
  286. ypos 105
  287. }
  288. Remove {
  289. operation keep
  290. channels rgba
  291. name Remove1
  292. xpos -469
  293. ypos 166
  294. disable {{!parent.keepRGBA}}
  295. }
  296. Output {
  297. name Output1
  298. xpos -469
  299. ypos 286
  300. }
  301. end_group
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement