"nodeGraph" : { | "nodeGraph" : { | ||||
"edges" : [ | "edges" : [ | ||||
{ | { | ||||
"fromNode" : 1, | |||||
"fromNode" : 2, | |||||
"fromOutput" : 0, | "fromOutput" : 0, | ||||
"toInput" : 0, | "toInput" : 0, | ||||
"toNode" : 0 | "toNode" : 0 | ||||
0.800000011920929, | 0.800000011920929, | ||||
1.0 | 1.0 | ||||
], | ], | ||||
0.44545453786849976, | |||||
0.26363635063171387, | |||||
0.0, | 0.0, | ||||
0.0, | |||||
0.0, | |||||
1.0, | |||||
0.09545457363128662, | |||||
0.0, | 0.0, | ||||
0.0, | 0.0, | ||||
0.0, | 0.0, | ||||
"nodeGraph" : { | "nodeGraph" : { | ||||
"edges" : [ | "edges" : [ | ||||
{ | { | ||||
"fromNode" : 1, | |||||
"fromNode" : 0, | |||||
"fromOutput" : 0, | "fromOutput" : 0, | ||||
"toInput" : 1, | "toInput" : 1, | ||||
"toNode" : 2 | |||||
"toNode" : 3 | |||||
}, | }, | ||||
{ | { | ||||
"fromNode" : 2, | |||||
"fromNode" : 1, | |||||
"fromOutput" : 0, | "fromOutput" : 0, | ||||
"toInput" : 0, | |||||
"toNode" : 0 | |||||
"toInput" : 2, | |||||
"toNode" : 3 | |||||
}, | }, | ||||
{ | { | ||||
"fromNode" : 3, | |||||
"fromNode" : 4, | |||||
"fromOutput" : 0, | "fromOutput" : 0, | ||||
"toInput" : 2, | |||||
"toInput" : 0, | |||||
"toNode" : 2 | "toNode" : 2 | ||||
} | } | ||||
], | ], | ||||
{ | { | ||||
"inputs" : [ | "inputs" : [ | ||||
[ | [ | ||||
0, | |||||
0, | |||||
0, | |||||
0 | |||||
1.0, | |||||
1.0, | |||||
1.0, | |||||
1.0 | |||||
], | ], | ||||
0.5, | |||||
1.4500000476837158, | |||||
[ | |||||
0.0, | |||||
0.0, | |||||
0.0 | |||||
] | |||||
], | |||||
"is_active_output" : false, | |||||
"name" : "Glass BSDF", | |||||
"outputs" : [ | |||||
[ | [ | ||||
0, | 0, | ||||
0, | 0, | ||||
0, | 0, | ||||
0 | 0 | ||||
], | |||||
[ | |||||
0.0, | |||||
0.0, | |||||
0.0 | |||||
] | ] | ||||
], | ], | ||||
"is_active_output" : true, | |||||
"name" : "Material Output", | |||||
"outputs" : [], | |||||
"type" : "OUTPUT_MATERIAL" | |||||
"type" : "BSDF_GLASS" | |||||
}, | }, | ||||
{ | { | ||||
"inputs" : [ | "inputs" : [ | ||||
1.0, | 1.0, | ||||
1.0 | 1.0 | ||||
], | ], | ||||
0.5, | |||||
1.4500000476837158, | |||||
[ | |||||
0.0, | |||||
0.0, | |||||
0.0 | |||||
] | |||||
1.0 | |||||
], | ], | ||||
"is_active_output" : false, | "is_active_output" : false, | ||||
"name" : "Glass BSDF", | |||||
"name" : "Emission", | |||||
"outputs" : [ | "outputs" : [ | ||||
[ | [ | ||||
0, | 0, | ||||
0 | 0 | ||||
] | ] | ||||
], | ], | ||||
"type" : "BSDF_GLASS" | |||||
"type" : "EMISSION" | |||||
}, | |||||
{ | |||||
"inputs" : [ | |||||
[ | |||||
0, | |||||
0, | |||||
0, | |||||
0 | |||||
], | |||||
[ | |||||
0, | |||||
0, | |||||
0, | |||||
0 | |||||
], | |||||
[ | |||||
0.0, | |||||
0.0, | |||||
0.0 | |||||
] | |||||
], | |||||
"is_active_output" : true, | |||||
"name" : "Material Output", | |||||
"outputs" : [], | |||||
"type" : "OUTPUT_MATERIAL" | |||||
}, | }, | ||||
{ | { | ||||
"inputs" : [ | "inputs" : [ | ||||
}, | }, | ||||
{ | { | ||||
"inputs" : [ | "inputs" : [ | ||||
[ | |||||
0.800000011920929, | |||||
0.800000011920929, | |||||
0.800000011920929, | |||||
1.0 | |||||
], | |||||
0.0, | |||||
[ | [ | ||||
1.0, | 1.0, | ||||
1.0, | |||||
1.0, | |||||
0.20000000298023224, | |||||
0.10000000149011612 | |||||
], | |||||
[ | |||||
0.800000011920929, | |||||
0.800000011920929, | |||||
0.800000011920929, | |||||
1.0 | 1.0 | ||||
], | ], | ||||
1.0 | |||||
0.0, | |||||
0.5, | |||||
0.0, | |||||
0.5, | |||||
0.0, | |||||
0.0, | |||||
0.0, | |||||
0.5, | |||||
0.0, | |||||
0.029999999329447746, | |||||
1.4500000476837158, | |||||
0.7862595319747925, | |||||
0.0, | |||||
[ | |||||
0.0, | |||||
0.0, | |||||
0.0 | |||||
], | |||||
[ | |||||
0.0, | |||||
0.0, | |||||
0.0 | |||||
], | |||||
[ | |||||
0.0, | |||||
0.0, | |||||
0.0 | |||||
] | |||||
], | ], | ||||
"is_active_output" : false, | "is_active_output" : false, | ||||
"name" : "Emission", | |||||
"name" : "Principled BSDF", | |||||
"outputs" : [ | "outputs" : [ | ||||
[ | [ | ||||
0, | 0, | ||||
0 | 0 | ||||
] | ] | ||||
], | ], | ||||
"type" : "EMISSION" | |||||
"type" : "BSDF_PRINCIPLED" | |||||
} | } | ||||
] | ] | ||||
} | } | ||||
{ | { | ||||
"extensions" : { | "extensions" : { | ||||
"S8S_v3d_scene_data" : { | "S8S_v3d_scene_data" : { | ||||
"aaMethod" : "AUTO", | |||||
"aaMethod" : "MSAA8", | |||||
"light" : 0, | "light" : 0, | ||||
"physicallyCorrectLights" : true, | "physicallyCorrectLights" : true, | ||||
"useHDR" : true, | |||||
"worldMaterial" : 4 | "worldMaterial" : 4 | ||||
} | } | ||||
}, | }, |
if (v3d.AppUtils.isXML(logicURL)) { | if (v3d.AppUtils.isXML(logicURL)) { | ||||
var logicURLJS = logicURL.match(/(.*)\.xml$/)[1] + '.js'; | var logicURLJS = logicURL.match(/(.*)\.xml$/)[1] + '.js'; | ||||
new v3d.PuzzlesLoader().loadEditorWithLogic(PUZZLES_DIR, logicURLJS, | |||||
new v3d.PuzzlesLoader().loadEditorWithLogic(PUZZLES_DIR, logicURLJS, | |||||
function() { | function() { | ||||
var initOptions = v3d.PL ? v3d.PL.execInitPuzzles().initOptions | |||||
var initOptions = v3d.PL ? v3d.PL.execInitPuzzles().initOptions | |||||
: { useFullscreen: true }; | : { useFullscreen: true }; | ||||
loadScene(sceneURL, initOptions); | loadScene(sceneURL, initOptions); | ||||
} | } | ||||
); | ); | ||||
} else if (v3d.AppUtils.isJS(logicURL)) { | } else if (v3d.AppUtils.isJS(logicURL)) { | ||||
new v3d.PuzzlesLoader().loadLogic(logicURL, function() { | new v3d.PuzzlesLoader().loadLogic(logicURL, function() { | ||||
var initOptions = v3d.PL ? v3d.PL.execInitPuzzles().initOptions | |||||
var initOptions = v3d.PL ? v3d.PL.execInitPuzzles().initOptions | |||||
: { useFullscreen: true }; | : { useFullscreen: true }; | ||||
loadScene(sceneURL, initOptions); | loadScene(sceneURL, initOptions); | ||||
}); | }); | ||||
if (initOptions.useBkgTransp) ctxSettings.alpha = true; | if (initOptions.useBkgTransp) ctxSettings.alpha = true; | ||||
if (initOptions.preserveDrawBuf) ctxSettings.preserveDrawingBuffer = true; | if (initOptions.preserveDrawBuf) ctxSettings.preserveDrawingBuffer = true; | ||||
var preloader = initOptions.useCustomPreloader | |||||
? createCustomPreloader(initOptions.preloaderProgressCb, | |||||
initOptions.preloaderEndCb) | |||||
var preloader = initOptions.useCustomPreloader | |||||
? createCustomPreloader(initOptions.preloaderProgressCb, | |||||
initOptions.preloaderEndCb) | |||||
: new v3d.SimplePreloader({ container: 'container' }); | : new v3d.SimplePreloader({ container: 'container' }); | ||||
var app = new v3d.App('container', ctxSettings, preloader); | var app = new v3d.App('container', ctxSettings, preloader); | ||||
if (initOptions.useBkgTransp) { | if (initOptions.useBkgTransp) { | ||||
app.clearBkgOnLoad = true; | app.clearBkgOnLoad = true; | ||||
app.renderer.setClearColor(0x000000, 0); | app.renderer.setClearColor(0x000000, 0); | ||||
} | } | ||||
// namespace for communicating with code generated by Puzzles | |||||
// namespace for communicating with code generated by Puzzles | |||||
app.ExternalInterface = {}; | app.ExternalInterface = {}; | ||||
prepareExternalInterface(app); | prepareExternalInterface(app); | ||||
if (initOptions.preloaderStartCb) initOptions.preloaderStartCb(); | if (initOptions.preloaderStartCb) initOptions.preloaderStartCb(); | ||||
if (initOptions.useFullscreen) { | if (initOptions.useFullscreen) { | ||||
initFullScreen(); | initFullScreen(); | ||||
} | } | ||||
function createCustomPreloader(updateCb, finishCb) { | function createCustomPreloader(updateCb, finishCb) { | ||||
function CustomPreloader() { | |||||
v3d.Preloader.call(this); | |||||
function CustomPreloader() { | |||||
v3d.Preloader.call(this); | |||||
} | } | ||||
CustomPreloader.prototype = Object.assign(Object.create(v3d.Preloader.prototype), { | CustomPreloader.prototype = Object.assign(Object.create(v3d.Preloader.prototype), { | ||||
onUpdate: function(percentage) { | |||||
onUpdate: function(percentage) { | |||||
v3d.Preloader.prototype.onUpdate.call(this, percentage); | v3d.Preloader.prototype.onUpdate.call(this, percentage); | ||||
if (updateCb) updateCb(percentage); | if (updateCb) updateCb(percentage); | ||||
}, | }, | ||||
if (finishCb) finishCb(); | if (finishCb) finishCb(); | ||||
} | } | ||||
}); | }); | ||||
return new CustomPreloader(); | return new CustomPreloader(); | ||||
} | } | ||||
var fsButton = document.getElementById('fullscreen_button'); | var fsButton = document.getElementById('fullscreen_button'); | ||||
if (!fsButton) return; | if (!fsButton) return; | ||||
if (document.fullscreenEnabled || | |||||
if (document.fullscreenEnabled || | |||||
document.webkitFullscreenEnabled || | document.webkitFullscreenEnabled || | ||||
document.mozFullScreenEnabled || | document.mozFullScreenEnabled || | ||||
document.msFullscreenEnabled) | document.msFullscreenEnabled) | ||||
fullscreen_button.addEventListener('click', function(event) { | fullscreen_button.addEventListener('click', function(event) { | ||||
event.stopPropagation(); | event.stopPropagation(); | ||||
if (document.fullscreenElement || | |||||
if (document.fullscreenElement || | |||||
document.webkitFullscreenElement || | document.webkitFullscreenElement || | ||||
document.mozFullScreenElement || | document.mozFullScreenElement || | ||||
document.msFullscreenElement) { | document.msFullscreenElement) { | ||||
}); | }); | ||||
function changeFullscreen() { | function changeFullscreen() { | ||||
if (document.fullscreenElement || | |||||
if (document.fullscreenElement || | |||||
document.webkitFullscreenElement || | document.webkitFullscreenElement || | ||||
document.mozFullScreenElement || | document.mozFullScreenElement || | ||||
document.msFullscreenElement) | document.msFullscreenElement) | ||||
elem.requestFullscreen(); | elem.requestFullscreen(); | ||||
else if (elem.mozRequestFullScreen) | else if (elem.mozRequestFullScreen) | ||||
elem.mozRequestFullScreen(); | elem.mozRequestFullScreen(); | ||||
else if (elem.webkitRequestFullscreen) | |||||
else if (elem.webkitRequestFullscreen) | |||||
elem.webkitRequestFullscreen(); | elem.webkitRequestFullscreen(); | ||||
else if (elem.msRequestFullscreen) | else if (elem.msRequestFullscreen) | ||||
elem.msRequestFullscreen(); | elem.msRequestFullscreen(); | ||||
} | } | ||||
function exitFullscreen() { | function exitFullscreen() { | ||||
if (document.exitFullscreen) | if (document.exitFullscreen) | ||||
document.exitFullscreen(); | document.exitFullscreen(); | ||||
// app.ExternalInterface.myJSFunction = function() { | // app.ExternalInterface.myJSFunction = function() { | ||||
// console.log('Hello, World!'); | // console.log('Hello, World!'); | ||||
// } | // } | ||||
app.ExternalInterface.HSVtoRGB = function(h, s, v) { | |||||
var r, g, b, i, f, p, q, t; | |||||
if (arguments.length === 1) { | |||||
s = h.s, v = h.v, h = h.h; | |||||
} | |||||
i = Math.floor(h * 6); | |||||
f = h * 6 - i; | |||||
p = v * (1 - s); | |||||
q = v * (1 - f * s); | |||||
t = v * (1 - (1 - f) * s); | |||||
switch (i % 6) { | |||||
case 0: r = v, g = t, b = p; break; | |||||
case 1: r = q, g = v, b = p; break; | |||||
case 2: r = p, g = v, b = t; break; | |||||
case 3: r = p, g = q, b = v; break; | |||||
case 4: r = t, g = p, b = v; break; | |||||
case 5: r = v, g = p, b = q; break; | |||||
} | |||||
console.log(r,g,b); | |||||
app.ExternalInterface.setRGB(r, g, b); | |||||
return { | |||||
r: Math.round(r * 255), | |||||
g: Math.round(g * 255), | |||||
b: Math.round(b * 255) | |||||
}; | |||||
} | |||||
} | } | ||||
function runCode(app) { | function runCode(app) { | ||||
// add your code here, e.g. console.log('Hello, World!'); | // add your code here, e.g. console.log('Hello, World!'); | ||||
} | } | ||||
}); | }); |
/** | /** | ||||
* Generated by Verge3D Puzzles v.2.12.5 | * Generated by Verge3D Puzzles v.2.12.5 | ||||
* Fri Jun 07 2019 23:17:23 GMT+0200 (Mitteleuropäische Sommerzeit) | |||||
* Sat Jun 08 2019 00:30:36 GMT+0200 (Mitteleuropäische Sommerzeit) | |||||
* Do not edit this file - your changes may get overridden when Puzzles are saved. | * Do not edit this file - your changes may get overridden when Puzzles are saved. | ||||
* Refer to https://www.soft8soft.com/docs/manual/en/introduction/Using-JavaScript.html | * Refer to https://www.soft8soft.com/docs/manual/en/introduction/Using-JavaScript.html | ||||
* for information on how to add your own JavaScript to Verge3D apps. | * for information on how to add your own JavaScript to Verge3D apps. | ||||
if ('fadeAnnotations' in initOptions) { | if ('fadeAnnotations' in initOptions) { | ||||
_pGlob.fadeAnnotations = initOptions.fadeAnnotations; | _pGlob.fadeAnnotations = initOptions.fadeAnnotations; | ||||
} | } | ||||
var distZ, light, stepY, distY, dragging, distX, inboundStepper, maxDist, sat, hue, value; | |||||
var distZ, r, g, b, stepY, distY, dragging, distX, inboundStepper, maxDist, sat, hue, value; | |||||
// utility function envoked by almost all V3D-specific puzzles | // utility function envoked by almost all V3D-specific puzzles | ||||
// callJSFunction puzzle | |||||
function getJSFunction(funcName) { | |||||
var jsFunc = appInstance.ExternalInterface[funcName]; | |||||
if (typeof jsFunc == "function") | |||||
return jsFunc; | |||||
else | |||||
return function() {}; | |||||
} | |||||
function eventGetOffsetCoords(e, touchId, dest) { | function eventGetOffsetCoords(e, touchId, dest) { | ||||
if (e instanceof MouseEvent) { | if (e instanceof MouseEvent) { | ||||
dest.set(e.offsetX, e.offsetY); | dest.set(e.offsetX, e.offsetY); | ||||
function matGetColors(matName) { | |||||
var mat = v3d.SceneUtils.getMaterialByName(appInstance, matName); | |||||
if (!mat) return []; | |||||
if (mat.isMeshNodeMaterial) | |||||
return Object.keys(mat.nodeRGBMap); | |||||
else if (mat.isMeshStandardMaterial) | |||||
return ['color', 'emissive']; | |||||
else | |||||
return [] | |||||
} | |||||
// setMaterialColor puzzle | |||||
function setMaterialColor(matName, colName, r, g, b) { | |||||
var colors = matGetColors(matName); | |||||
if (colors.indexOf(colName) < 0) return; | |||||
var mats = v3d.SceneUtils.getMaterialsByName(appInstance, matName); | |||||
for (var i = 0; i < mats.length; i++) { | |||||
var mat = mats[i]; | |||||
if (mat.isMeshNodeMaterial) { | |||||
var rgbIdx = mat.nodeRGBMap[colName]; | |||||
mat.nodeRGB[rgbIdx].x = r; | |||||
mat.nodeRGB[rgbIdx].y = g; | |||||
mat.nodeRGB[rgbIdx].z = b; | |||||
} else { | |||||
mat[colName].r = r; | |||||
mat[colName].g = g; | |||||
mat[colName].b = b; | |||||
} | |||||
mat.needsUpdate = true; | |||||
if (mat === appInstance.worldMaterial) | |||||
appInstance.updateEnvironment(mat); | |||||
} | |||||
} | |||||
function setRGB(r, g, b) { | |||||
setMaterialColor("transparent", "Principled BSDF Color", r, g, b); | |||||
} | |||||
appInstance.ExternalInterface["setRGB"] = setRGB; | |||||
// bloom puzzle | |||||
function bloom(threshold, strength, radius) { | |||||
appInstance.enablePostprocessing([{ | |||||
type: 'bloom', | |||||
threshold: threshold, | |||||
strength: strength, | |||||
radius: radius | |||||
}]); | |||||
} | |||||
// ssao puzzle | |||||
function ssao(radius, aoClamp, lumInfluence) { | |||||
appInstance.enablePostprocessing([{ | |||||
type: 'ssao', | |||||
radius: radius, | |||||
aoClamp: aoClamp, | |||||
lumInfluence: lumInfluence | |||||
}]); | |||||
} | |||||
// getEventProperty puzzle | // getEventProperty puzzle | ||||
function getEventProperty(prop, event) { | function getEventProperty(prop, event) { | ||||
if (typeof event != "undefined") { | if (typeof event != "undefined") { | ||||
} | } | ||||
}, function() {}); | }, function() {}); | ||||
light; | |||||
registerOnDrag(["GROUP", "qubit_grp"], function() { | registerOnDrag(["GROUP", "qubit_grp"], function() { | ||||
dragging = true; | dragging = true; | ||||
}, | }, | ||||
hue = 0; | hue = 0; | ||||
sat = Math.sqrt(distX * distX + distY * distY) / maxDist; | sat = Math.sqrt(distX * distX + distY * distY) / maxDist; | ||||
value = ((distZ - maxDist) / (2 * maxDist)) * -1; | value = ((distZ - maxDist) / (2 * maxDist)) * -1; | ||||
console.log(hue); | |||||
console.log(sat); | |||||
console.log(value); | |||||
getJSFunction('HSVtoRGB')(hue, sat, value); | |||||
}, | }, | ||||
function() { | function() { | ||||
dragging = false; | dragging = false; | ||||
}, "x7;j`9Tr6$fIW]tXfLwm"); | }, "x7;j`9Tr6$fIW]tXfLwm"); | ||||
bloom(0.5, 0.2, 0.15); | |||||
ssao(2, 0.25, 0.7); | |||||
eventHTMLElem('wheel', ["DOCUMENT"], false, function(event) { | eventHTMLElem('wheel', ["DOCUMENT"], false, function(event) { | ||||
if (dragging == true) { | if (dragging == true) { | ||||
if (getEventProperty('deltaY', event) < 0) { | if (getEventProperty('deltaY', event) < 0) { |
<xml xmlns="http://www.w3.org/1999/xhtml"> | <xml xmlns="http://www.w3.org/1999/xhtml"> | ||||
<tab name="Init" type="InitTab" active="false" scrollx="326.8509198386643" scrolly="291.0316409522357" scale="0.7462349768006044"> | |||||
<tab name="Init" type="InitTab" active="false" scrollx="326.8509198386647" scrolly="291.0316409522357" scale="0.7462349768006044"> | |||||
<variables> | <variables> | ||||
<variable type="" id="U?SMwCJdbQuF-Xah3ja#">ctrlInit</variable> | <variable type="" id="U?SMwCJdbQuF-Xah3ja#">ctrlInit</variable> | ||||
<variable type="" id=";D?T^;K0%2HHlr__^(^G">cinitx</variable> | <variable type="" id=";D?T^;K0%2HHlr__^(^G">cinitx</variable> | ||||
</next> | </next> | ||||
</block> | </block> | ||||
</tab> | </tab> | ||||
<tab name="Main" type="MainTab" active="true" scrollx="232.04986572265625" scrolly="254.50326538085938" scale="0.5226292566934678"> | |||||
<tab name="Main" type="MainTab" active="true" scrollx="102.93374633789062" scrolly="7.967080593109017" scale="0.7211790326162258"> | |||||
<variables> | <variables> | ||||
<variable type="" id="JjHAX,fgz)6.fPl8`pav">distZ</variable> | <variable type="" id="JjHAX,fgz)6.fPl8`pav">distZ</variable> | ||||
<variable type="" id="APc5)WJ[Hf2IW+7hrxsN">light</variable> | |||||
<variable type="" id="OZm(1S+UK~jxq[i=;gvy">r</variable> | |||||
<variable type="" id="3;f(l#V],jaRVr+m[?9;">g</variable> | |||||
<variable type="" id="~hN.qKKnh]5^GXCD=Ln5">b</variable> | |||||
<variable type="" id="GKERIN}`~rk0$MWnY3aS">stepY</variable> | <variable type="" id="GKERIN}`~rk0$MWnY3aS">stepY</variable> | ||||
<variable type="" id="vpri#?vQ7`ZyX.tU55{Z">distY</variable> | <variable type="" id="vpri#?vQ7`ZyX.tU55{Z">distY</variable> | ||||
<variable type="" id="vG99U|`lU,3SOsjwD]~h">dragging</variable> | <variable type="" id="vG99U|`lU,3SOsjwD]~h">dragging</variable> | ||||
</block> | </block> | ||||
</statement> | </statement> | ||||
</block> | </block> | ||||
<block type="variables_get" id="H4]N(O5pLY;L0jVF{}NC" x="-670" y="-250"> | |||||
<field name="VAR" id="APc5)WJ[Hf2IW+7hrxsN" variabletype="">light</field> | |||||
</block> | |||||
<block type="whenDraggedOver" id="x7;j`9Tr6$fIW]tXfLwm" x="-230" y="-230"> | <block type="whenDraggedOver" id="x7;j`9Tr6$fIW]tXfLwm" x="-230" y="-230"> | ||||
<mutation do_start="true" do_drop="true"></mutation> | <mutation do_start="true" do_drop="true"></mutation> | ||||
<value name="VALUE"> | <value name="VALUE"> | ||||
</block> | </block> | ||||
</value> | </value> | ||||
<next> | <next> | ||||
<block type="console.log" id="CSz~#m-=cKJ+IThK8A1T"> | |||||
<value name="VALUE"> | |||||
<shadow type="text" id="a]UNhQ)g?NDLjQ9L~ZBN"> | |||||
<field name="TEXT">I'm here!!!</field> | |||||
</shadow> | |||||
<block type="callJSFunction" id="Ht=-UqmBfQXS$VYiv9;5"> | |||||
<mutation name="HSVtoRGB"> | |||||
<arg name="h"></arg> | |||||
<arg name="s"></arg> | |||||
<arg name="v"></arg> | |||||
</mutation> | |||||
<field name="NAME">HSVtoRGB</field> | |||||
<value name="ARG0"> | |||||
<block type="variables_get" id="$3OIc0O#E7j~cJ,R`-?e"> | <block type="variables_get" id="$3OIc0O#E7j~cJ,R`-?e"> | ||||
<field name="VAR" id="S`ib|8a9}oYR22qe`UUI" variabletype="">hue</field> | <field name="VAR" id="S`ib|8a9}oYR22qe`UUI" variabletype="">hue</field> | ||||
</block> | </block> | ||||
</value> | </value> | ||||
<next> | |||||
<block type="console.log" id="upJ:FgyxTuO(6`0:FHlM"> | |||||
<value name="VALUE"> | |||||
<shadow type="text" id="a]UNhQ)g?NDLjQ9L~ZBN"> | |||||
<field name="TEXT">I'm here!!!</field> | |||||
</shadow> | |||||
<block type="variables_get" id="fmN^BQWJ}iRc265bH#RM"> | |||||
<field name="VAR" id="YfcA/U/M4Db,!/u8lx*r" variabletype="">sat</field> | |||||
</block> | |||||
</value> | |||||
<next> | |||||
<block type="console.log" id="A1s~7jbj`yz@j/+Q$2RU"> | |||||
<value name="VALUE"> | |||||
<shadow type="text" id="a]UNhQ)g?NDLjQ9L~ZBN"> | |||||
<field name="TEXT">I'm here!!!</field> | |||||
</shadow> | |||||
<block type="variables_get" id="B=0NOM]eM`n,Ws`rlPbn"> | |||||
<field name="VAR" id="rAlwiT?%pA#CG+i+x-1G" variabletype="">value</field> | |||||
</block> | |||||
</value> | |||||
</block> | |||||
</next> | |||||
<value name="ARG1"> | |||||
<block type="variables_get" id="fmN^BQWJ}iRc265bH#RM"> | |||||
<field name="VAR" id="YfcA/U/M4Db,!/u8lx*r" variabletype="">sat</field> | |||||
</block> | |||||
</value> | |||||
<value name="ARG2"> | |||||
<block type="variables_get" id="B=0NOM]eM`n,Ws`rlPbn"> | |||||
<field name="VAR" id="rAlwiT?%pA#CG+i+x-1G" variabletype="">value</field> | |||||
</block> | </block> | ||||
</next> | |||||
</value> | |||||
</block> | </block> | ||||
</next> | </next> | ||||
</block> | </block> | ||||
</block> | </block> | ||||
</statement> | </statement> | ||||
</block> | </block> | ||||
<block type="externalCall" id="Vpc9v!mZHQ0;V(+:ON#u" x="-150" y="430"> | |||||
<mutation> | |||||
<arg name="r" varid="OZm(1S+UK~jxq[i=;gvy"></arg> | |||||
<arg name="g" varid="3;f(l#V],jaRVr+m[?9;"></arg> | |||||
<arg name="b" varid="~hN.qKKnh]5^GXCD=Ln5"></arg> | |||||
</mutation> | |||||
<field name="NAME">setRGB</field> | |||||
<statement name="STACK"> | |||||
<block type="setMaterialColor" id="|eRH_j=aRD}WiOkXzv}i"> | |||||
<field name="MAT_COL_NAME">Principled BSDF Color</field> | |||||
<value name="MATERIAL"> | |||||
<block type="materialList" id="RK`ToB})CECw8{IJ*7xU"> | |||||
<field name="FIELDNAME">transparent</field> | |||||
</block> | |||||
</value> | |||||
<value name="R"> | |||||
<shadow type="math_number" id="uMTNnOn`F[3nF/|A_FRa"> | |||||
<field name="NUM">0.5</field> | |||||
</shadow> | |||||
<block type="variables_get" id="EhrBCPmUJ|?8?5%MWD|i"> | |||||
<field name="VAR" id="OZm(1S+UK~jxq[i=;gvy" variabletype="">r</field> | |||||
</block> | |||||
</value> | |||||
<value name="G"> | |||||
<shadow type="math_number" id="VfDW%w^e94)Xh9HL:@XN"> | |||||
<field name="NUM">0.5</field> | |||||
</shadow> | |||||
<block type="variables_get" id="N:6Uy_BVf#OVcig)AwX:"> | |||||
<field name="VAR" id="3;f(l#V],jaRVr+m[?9;" variabletype="">g</field> | |||||
</block> | |||||
</value> | |||||
<value name="B"> | |||||
<shadow type="math_number" id="9n(`|;7_R}POn4hpJ-f7"> | |||||
<field name="NUM">0.5</field> | |||||
</shadow> | |||||
<block type="variables_get" id="?Wd^ql:F{H_D.,}@(Yy~"> | |||||
<field name="VAR" id="~hN.qKKnh]5^GXCD=Ln5" variabletype="">b</field> | |||||
</block> | |||||
</value> | |||||
</block> | |||||
</statement> | |||||
</block> | |||||
<block type="bloom" id="^pL/J.Y%ueuCO%}B=ezi" x="-270" y="510"> | |||||
<value name="THRESHOLD"> | |||||
<shadow type="math_number" id="S@oN@`tJye!`*)7Zy5[t"> | |||||
<field name="NUM">0.5</field> | |||||
</shadow> | |||||
</value> | |||||
<value name="STRENGTH"> | |||||
<shadow type="math_number" id="d8cSN{Dk`y3(fSC9MYZw"> | |||||
<field name="NUM">0.2</field> | |||||
</shadow> | |||||
</value> | |||||
<value name="RADIUS"> | |||||
<shadow type="math_number" id="].|hcK5O#zQt/ct[zjFu"> | |||||
<field name="NUM">0.15</field> | |||||
</shadow> | |||||
</value> | |||||
<next> | |||||
<block type="ssao" id="~*s;Bv.,8e9lnec_53cA"> | |||||
<value name="RADIUS"> | |||||
<shadow type="math_number" id="$(Oy{xY[,33N8Md?1IMo"> | |||||
<field name="NUM">2</field> | |||||
</shadow> | |||||
</value> | |||||
<value name="AO_CLAMP"> | |||||
<shadow type="math_number" id="[4s+GMZ3J0/ev7LINj6k"> | |||||
<field name="NUM">0.25</field> | |||||
</shadow> | |||||
</value> | |||||
<value name="LUM_INFLUENCE"> | |||||
<shadow type="math_number" id="6aPQ:c6{M?|=/F-E~Gis"> | |||||
<field name="NUM">0.7</field> | |||||
</shadow> | |||||
</value> | |||||
</block> | |||||
</next> | |||||
</block> | |||||
<block type="eventHTMLElem" id="fTN5K]$,(lHQ5YaPZx[f" x="-210" y="610"> | <block type="eventHTMLElem" id="fTN5K]$,(lHQ5YaPZx[f" x="-210" y="610"> | ||||
<field name="EVENT">wheel</field> | <field name="EVENT">wheel</field> | ||||
<field name="PARENT">FALSE</field> | <field name="PARENT">FALSE</field> | ||||
<field name="VAR" id="GKERIN}`~rk0$MWnY3aS" variabletype="">stepY</field> | <field name="VAR" id="GKERIN}`~rk0$MWnY3aS" variabletype="">stepY</field> | ||||
</block> | </block> | ||||
</tab> | </tab> | ||||
<editorsettings width="1087" height="614"></editorsettings> | |||||
<editorsettings width="918" height="396"></editorsettings> | |||||
</xml> | </xml> |