Name
*
Code
{"properties":{"frame":0,"maxFrame":600,"maxFrameLocked":false,"realtimeState":true,"mainCameraPath":"*/perspectiveCamera1","versions":{"polygonjs":"1.2.10"}},"root":{"type":"root","nodes":{"grid":{"type":"geo","nodes":{"plane1":{"type":"plane","params":{"size":[6,6]},"flags":{"display":true}}},"flags":{"display":true}},"lights":{"type":"geo","nodes":{"hemisphereLight1":{"type":"hemisphereLight","params":{"intensity":0.6}},"spotLight1":{"type":"spotLight","params":{"showHelper":true}},"polarTransform1":{"type":"polarTransform","params":{"latitude":28.8,"depth":2.9},"inputs":["spotLight1"]},"merge1":{"type":"merge","inputs":["polarTransform1","hemisphereLight1"],"flags":{"display":true}}},"flags":{"display":true},"selection":["hemisphereLight1"]},"cameras":{"type":"geo","nodes":{"perspectiveCamera1":{"type":"perspectiveCamera","params":{"position":[1.6,2.2,2.1]}},"cameraControls1":{"type":"cameraControls","nodes":{"cameraOrbitControls1":{"type":"cameraOrbitControls"}},"params":{"node":"cameraOrbitControls1"},"inputs":["perspectiveCamera1"]},"cameraPostProcess1":{"type":"cameraPostProcess","nodes":{"OUT":{"type":"null","inputs":["outline1"],"flags":{"display":true}},"outline1":{"type":"outline","params":{"visibleEdgeColor":[0,0,0],"hiddenEdgeColor":[0.4392156862745098,0.4392156862745098,0.4392156862745098],"blendFunction":2}},"eventsNetwork1":{"type":"eventsNetwork","nodes":{"scene1":{"type":"scene"},"setParam1":{"type":"setParam","params":{"param":"../../outline1/refreshObjects","type":1},"inputs":[{"index":0,"node":"scene1","output":"ready"}]}}}},"inputs":["cameraControls1"],"flags":{"display":true}}},"flags":{"display":true}},"mainGeo":{"type":"geo","nodes":{"torus1":{"type":"torus"},"box1":{"type":"box","params":{"size":0.6,"sizes":[1,1,0.19999999999999996],"center":[1,0,0]}},"copy1":{"type":"copy","params":{"count":12,"r":[0,30,0]},"inputs":["box1"]},"merge1":{"type":"merge","params":{"compact":1},"inputs":["torus1","copy1"]},"material1":{"type":"material","params":{"material":"../MAT/meshToon1"},"inputs":["merge1"]},"MAT":{"type":"materialsNetwork","nodes":{"meshToon1":{"type":"meshToon"}}},"objectProperties1":{"type":"objectProperties","params":{"tname":1,"name":"outlined"},"inputs":["material1"],"flags":{"display":true}}},"flags":{"display":true}}},"params":{"mainCameraPath":"*/perspectiveCamera1"}},"ui":{"nodes":{"grid":{"pos":[-300,-50],"nodes":{"plane1":{"pos":[-200,0]}}},"lights":{"pos":[-300,50],"nodes":{"hemisphereLight1":{"pos":[200,50]},"spotLight1":{"pos":[-50,50]},"polarTransform1":{"pos":[-50,250]},"merge1":{"pos":[50,450]}}},"cameras":{"pos":[-50,150],"comment":"In this node, we set up the camera, and add post processing to it, in order to create the outline around the main object","nodes":{"perspectiveCamera1":{"pos":[-250,-100]},"cameraControls1":{"pos":[-250,50],"nodes":{"cameraOrbitControls1":{"pos":[0,0]}}},"cameraPostProcess1":{"pos":[-250,300],"comment":"This node sets up the post processing to the render, which is what adds an outline around our object","nodes":{"OUT":{"pos":[0,100]},"outline1":{"pos":[0,-150],"comment":"this node is what creates the outline. You can try to remove it from the OUT node to see what happens."},"eventsNetwork1":{"pos":[-350,-150],"comment":"In this node, we set up an event so that the outline node refreshes the list of objects it uses to create the outline, when all the objects are ready.\\n\\nIf we had not set this up, the outline node would be ready before the mesh, and it would therefore not create the outline correctly.\\n\\nSo we use the event node inside here to reload the outline when needed.","nodes":{"scene1":{"pos":[-400,50]},"setParam1":{"pos":[-150,50]}}}}}}},"mainGeo":{"pos":[-50,-50],"comment":"in this node, a mesh is created by combining a torus and several boxes. Then we assign a toon material.","nodes":{"torus1":{"pos":[-150,50]},"box1":{"pos":[150,50]},"copy1":{"pos":[150,250]},"merge1":{"pos":[-50,450]},"material1":{"pos":[-50,600],"comment":"this node assigns the toon material to the mesh"},"MAT":{"pos":[-250,600],"nodes":{"meshToon1":{"pos":[0,100]}}},"objectProperties1":{"pos":[-50,800],"comment":"Here we give a name to the mesh, so that the outline post processing node ( in the \"cameras\" object ) can find it"}}}}}}
Code editor
{"multiple_panel":{"split_ratio":0.5,"split_panel0":{"split_ratio":0.5,"split_panel0":{"panelTypes":["viewer"],"currentPanelIndex":0,"panel_data":{"camera":"/cameras/cameras:sopGroup/perspectiveCamera1","linkIndex":1}},"split_panel1":{"panelTypes":["params"],"currentPanelIndex":0,"panel_data":{"active_folder":null,"linkIndex":1}},"split_mode":"vertical"},"split_panel1":{"panelTypes":["network","params","viewer"],"currentPanelIndex":0,"panel_data":{"camera":{"position":{"x":85.624713832553,"y":-61.642644726728726},"zoom":1.0242500000000003},"history":{"2":{"position":{"x":85.624713832553,"y":-61.642644726728726},"zoom":1.0242500000000003},"3":{"position":{"x":-48,"y":-22},"zoom":0.5},"6":{"position":{"x":11.339999999999996,"y":-96.49999999999999},"zoom":0.6172839506172841},"9":{"position":{"x":-32,"y":-88},"zoom":0.5},"33":{"position":{"x":-27.813604376727863,"y":-342.7537573066257},"zoom":0.7660000000000002},"59":{"position":{"x":0,"y":0},"zoom":0.6820000000000002},"86":{"position":{"x":246.23707031746147,"y":-163.82520867754354},"zoom":0.9660250000000018},"112":{"position":{"x":-58.299682883600134,"y":-711.4317987640563},"zoom":0.8022500000000004},"131":{"position":{"x":-59.04899999999998,"y":-65.1854},"zoom":0.8467543904215146},"255":{"position":{"x":36.07563691005765,"y":25.95013541902047},"zoom":0.8622500000000005},"325":{"position":{"x":179.89997100608878,"y":-47.68048709770948},"zoom":0.8622500000000005},"407":{"position":{"x":-169.52321595512615,"y":-96.26051729510752},"zoom":0.8022500000000004},"498":{"position":{"x":156.66240953597273,"y":71.51979565772668},"zoom":0.7322500000000003},"521":{"position":{"x":0,"y":0},"zoom":1.0130250000000003},"539":{"position":{"x":-61.98382290336311,"y":-80.30651340996167},"zoom":0.5872500000000002},"734":{"position":{"x":0,"y":0},"zoom":0.9610000000000004},"891":{"position":{"x":-77.38704904973252,"y":94.15234626910959},"zoom":0.7030250000000003}},"linkIndex":1}},"split_mode":"horizontal"},"currentNodes":["/","/","/","/","/","/","/","/"],"navigationHistory":{"nodePaths":{"1":["/","/grid","/","/mainGeo","/","/lights","/","/cameras","/","/mainGeo","/mainGeo/MAT","/mainGeo","/","/cameras","/cameras/cameraPostProcess1","/cameras","/","/mainGeo","/","/cameras","/cameras/cameraPostProcess1","/cameras/cameraPostProcess1/eventsNetwork1","/cameras/cameraPostProcess1","/cameras","/","/mainGeo","/mainGeo/MAT","/mainGeo","/","/cameras","/cameras/cameraPostProcess1","/cameras","/","/cameras","/cameras/cameraPostProcess1","/cameras/cameraPostProcess1/eventsNetwork1","/cameras/cameraPostProcess1","/cameras/cameraPostProcess1/eventsNetwork1","/cameras/cameraPostProcess1","/cameras","/","/cameras","/"],"2":["/"],"3":["/"],"4":["/"],"5":["/"],"6":["/"],"7":["/"],"8":["/"]},"index":{"1":42,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0}},"fullscreenPanelId":null,"saveOptions":{"createExport":true,"skipExportSinceRemoteAssetsPresents":false,"compressJs":true,"createZip":false,"publishToIntegrations":false},"paramsModal":[]}
Used nodes
event/cameraOrbitControls;event/scene;event/setParam;mat/meshToon;obj/geo;post/eventsNetwork;post/null;post/outline;sop/box;sop/cameraControls;sop/cameraPostProcess;sop/copy;sop/hemisphereLight;sop/material;sop/materialsNetwork;sop/merge;sop/objectProperties;sop/perspectiveCamera;sop/plane;sop/polarTransform;sop/spotLight;sop/torus
Used operations
Used modules
Used assemblers
Used integrations
[]
Used assets
Nodes map
{"/grid":"obj/geo","/grid/plane1":"sop/plane","/lights":"obj/geo","/lights/hemisphereLight1":"sop/hemisphereLight","/lights/spotLight1":"sop/spotLight","/lights/polarTransform1":"sop/polarTransform","/lights/merge1":"sop/merge","/cameras":"obj/geo","/cameras/perspectiveCamera1":"sop/perspectiveCamera","/cameras/cameraControls1":"sop/cameraControls","/cameras/cameraControls1/cameraOrbitControls1":"event/cameraOrbitControls","/cameras/cameraPostProcess1":"sop/cameraPostProcess","/cameras/cameraPostProcess1/OUT":"post/null","/cameras/cameraPostProcess1/outline1":"post/outline","/cameras/cameraPostProcess1/eventsNetwork1":"post/eventsNetwork","/cameras/cameraPostProcess1/eventsNetwork1/scene1":"event/scene","/cameras/cameraPostProcess1/eventsNetwork1/setParam1":"event/setParam","/mainGeo":"obj/geo","/mainGeo/torus1":"sop/torus","/mainGeo/box1":"sop/box","/mainGeo/copy1":"sop/copy","/mainGeo/merge1":"sop/merge","/mainGeo/material1":"sop/material","/mainGeo/MAT":"sop/materialsNetwork","/mainGeo/MAT/meshToon1":"mat/meshToon","/mainGeo/objectProperties1":"sop/objectProperties"}
Js version
Editor version
Engine version
Name
*
Code
{"properties":{"frame":0,"maxFrame":600,"maxFrameLocked":false,"realtimeState":true,"mainCameraPath":"*/perspectiveCamera1","versions":{"polygonjs":"1.2.10"}},"root":{"type":"root","nodes":{"grid":{"type":"geo","nodes":{"plane1":{"type":"plane","params":{"size":[6,6]},"flags":{"display":true}}},"flags":{"display":true}},"lights":{"type":"geo","nodes":{"hemisphereLight1":{"type":"hemisphereLight","params":{"intensity":0.6}},"spotLight1":{"type":"spotLight","params":{"showHelper":true}},"polarTransform1":{"type":"polarTransform","params":{"latitude":28.8,"depth":2.9},"inputs":["spotLight1"]},"merge1":{"type":"merge","inputs":["polarTransform1","hemisphereLight1"],"flags":{"display":true}}},"flags":{"display":true},"selection":["hemisphereLight1"]},"cameras":{"type":"geo","nodes":{"perspectiveCamera1":{"type":"perspectiveCamera","params":{"position":[1.6,2.2,2.1]}},"cameraControls1":{"type":"cameraControls","nodes":{"cameraOrbitControls1":{"type":"cameraOrbitControls"}},"params":{"node":"cameraOrbitControls1"},"inputs":["perspectiveCamera1"]},"cameraPostProcess1":{"type":"cameraPostProcess","nodes":{"OUT":{"type":"null","inputs":["outline1"],"flags":{"display":true}},"outline1":{"type":"outline","params":{"visibleEdgeColor":[0,0,0],"hiddenEdgeColor":[0.4392156862745098,0.4392156862745098,0.4392156862745098],"blendFunction":2}},"eventsNetwork1":{"type":"eventsNetwork","nodes":{"scene1":{"type":"scene"},"setParam1":{"type":"setParam","params":{"param":"../../outline1/refreshObjects","type":1},"inputs":[{"index":0,"node":"scene1","output":"ready"}]}}}},"inputs":["cameraControls1"],"flags":{"display":true}}},"flags":{"display":true}},"mainGeo":{"type":"geo","nodes":{"torus1":{"type":"torus"},"box1":{"type":"box","params":{"size":0.6,"sizes":[1,1,0.19999999999999996],"center":[1,0,0]}},"copy1":{"type":"copy","params":{"count":12,"r":[0,30,0]},"inputs":["box1"]},"merge1":{"type":"merge","params":{"compact":1},"inputs":["torus1","copy1"]},"material1":{"type":"material","params":{"material":"../MAT/meshToon1"},"inputs":["merge1"]},"MAT":{"type":"materialsNetwork","nodes":{"meshToon1":{"type":"meshToon"}}},"objectProperties1":{"type":"objectProperties","params":{"tname":1,"name":"outlined"},"inputs":["material1"],"flags":{"display":true}}},"flags":{"display":true}}},"params":{"mainCameraPath":"*/perspectiveCamera1"}},"ui":{"nodes":{"grid":{"pos":[-300,-50],"nodes":{"plane1":{"pos":[-200,0]}}},"lights":{"pos":[-300,50],"nodes":{"hemisphereLight1":{"pos":[200,50]},"spotLight1":{"pos":[-50,50]},"polarTransform1":{"pos":[-50,250]},"merge1":{"pos":[50,450]}}},"cameras":{"pos":[-50,150],"comment":"In this node, we set up the camera, and add post processing to it, in order to create the outline around the main object","nodes":{"perspectiveCamera1":{"pos":[-250,-100]},"cameraControls1":{"pos":[-250,50],"nodes":{"cameraOrbitControls1":{"pos":[0,0]}}},"cameraPostProcess1":{"pos":[-250,300],"comment":"This node sets up the post processing to the render, which is what adds an outline around our object","nodes":{"OUT":{"pos":[0,100]},"outline1":{"pos":[0,-150],"comment":"this node is what creates the outline. You can try to remove it from the OUT node to see what happens."},"eventsNetwork1":{"pos":[-350,-150],"comment":"In this node, we set up an event so that the outline node refreshes the list of objects it uses to create the outline, when all the objects are ready.\\n\\nIf we had not set this up, the outline node would be ready before the mesh, and it would therefore not create the outline correctly.\\n\\nSo we use the event node inside here to reload the outline when needed.","nodes":{"scene1":{"pos":[-400,50]},"setParam1":{"pos":[-150,50]}}}}}}},"mainGeo":{"pos":[-50,-50],"comment":"in this node, a mesh is created by combining a torus and several boxes. Then we assign a toon material.","nodes":{"torus1":{"pos":[-150,50]},"box1":{"pos":[150,50]},"copy1":{"pos":[150,250]},"merge1":{"pos":[-50,450]},"material1":{"pos":[-50,600],"comment":"this node assigns the toon material to the mesh"},"MAT":{"pos":[-250,600],"nodes":{"meshToon1":{"pos":[0,100]}}},"objectProperties1":{"pos":[-50,800],"comment":"Here we give a name to the mesh, so that the outline post processing node ( in the \"cameras\" object ) can find it"}}}}}}
Code editor
{"multiple_panel":{"split_ratio":0.5,"split_panel0":{"split_ratio":0.5,"split_panel0":{"panelTypes":["viewer"],"currentPanelIndex":0,"panel_data":{"camera":"/cameras/cameras:sopGroup/perspectiveCamera1","linkIndex":1}},"split_panel1":{"panelTypes":["params"],"currentPanelIndex":0,"panel_data":{"active_folder":null,"linkIndex":1}},"split_mode":"vertical"},"split_panel1":{"panelTypes":["network","params","viewer"],"currentPanelIndex":0,"panel_data":{"camera":{"position":{"x":85.624713832553,"y":-61.642644726728726},"zoom":1.0242500000000003},"history":{"2":{"position":{"x":85.624713832553,"y":-61.642644726728726},"zoom":1.0242500000000003},"3":{"position":{"x":-48,"y":-22},"zoom":0.5},"6":{"position":{"x":11.339999999999996,"y":-96.49999999999999},"zoom":0.6172839506172841},"9":{"position":{"x":-32,"y":-88},"zoom":0.5},"33":{"position":{"x":-27.813604376727863,"y":-342.7537573066257},"zoom":0.7660000000000002},"59":{"position":{"x":0,"y":0},"zoom":0.6820000000000002},"86":{"position":{"x":246.23707031746147,"y":-163.82520867754354},"zoom":0.9660250000000018},"112":{"position":{"x":-58.299682883600134,"y":-711.4317987640563},"zoom":0.8022500000000004},"131":{"position":{"x":-59.04899999999998,"y":-65.1854},"zoom":0.8467543904215146},"255":{"position":{"x":36.07563691005765,"y":25.95013541902047},"zoom":0.8622500000000005},"325":{"position":{"x":179.89997100608878,"y":-47.68048709770948},"zoom":0.8622500000000005},"407":{"position":{"x":-169.52321595512615,"y":-96.26051729510752},"zoom":0.8022500000000004},"498":{"position":{"x":156.66240953597273,"y":71.51979565772668},"zoom":0.7322500000000003},"521":{"position":{"x":0,"y":0},"zoom":1.0130250000000003},"539":{"position":{"x":-61.98382290336311,"y":-80.30651340996167},"zoom":0.5872500000000002},"734":{"position":{"x":0,"y":0},"zoom":0.9610000000000004},"891":{"position":{"x":-77.38704904973252,"y":94.15234626910959},"zoom":0.7030250000000003}},"linkIndex":1}},"split_mode":"horizontal"},"currentNodes":["/","/","/","/","/","/","/","/"],"navigationHistory":{"nodePaths":{"1":["/","/grid","/","/mainGeo","/","/lights","/","/cameras","/","/mainGeo","/mainGeo/MAT","/mainGeo","/","/cameras","/cameras/cameraPostProcess1","/cameras","/","/mainGeo","/","/cameras","/cameras/cameraPostProcess1","/cameras/cameraPostProcess1/eventsNetwork1","/cameras/cameraPostProcess1","/cameras","/","/mainGeo","/mainGeo/MAT","/mainGeo","/","/cameras","/cameras/cameraPostProcess1","/cameras","/","/cameras","/cameras/cameraPostProcess1","/cameras/cameraPostProcess1/eventsNetwork1","/cameras/cameraPostProcess1","/cameras/cameraPostProcess1/eventsNetwork1","/cameras/cameraPostProcess1","/cameras","/","/cameras","/"],"2":["/"],"3":["/"],"4":["/"],"5":["/"],"6":["/"],"7":["/"],"8":["/"]},"index":{"1":42,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0}},"fullscreenPanelId":null,"saveOptions":{"createExport":true,"skipExportSinceRemoteAssetsPresents":false,"compressJs":true,"createZip":false,"publishToIntegrations":false},"paramsModal":[]}
Used nodes
event/cameraOrbitControls;event/scene;event/setParam;mat/meshToon;obj/geo;post/eventsNetwork;post/null;post/outline;sop/box;sop/cameraControls;sop/cameraPostProcess;sop/copy;sop/hemisphereLight;sop/material;sop/materialsNetwork;sop/merge;sop/objectProperties;sop/perspectiveCamera;sop/plane;sop/polarTransform;sop/spotLight;sop/torus
Used operations
Used modules
Used assemblers
Used integrations
[]
Used assets
Nodes map
{"/grid":"obj/geo","/grid/plane1":"sop/plane","/lights":"obj/geo","/lights/hemisphereLight1":"sop/hemisphereLight","/lights/spotLight1":"sop/spotLight","/lights/polarTransform1":"sop/polarTransform","/lights/merge1":"sop/merge","/cameras":"obj/geo","/cameras/perspectiveCamera1":"sop/perspectiveCamera","/cameras/cameraControls1":"sop/cameraControls","/cameras/cameraControls1/cameraOrbitControls1":"event/cameraOrbitControls","/cameras/cameraPostProcess1":"sop/cameraPostProcess","/cameras/cameraPostProcess1/OUT":"post/null","/cameras/cameraPostProcess1/outline1":"post/outline","/cameras/cameraPostProcess1/eventsNetwork1":"post/eventsNetwork","/cameras/cameraPostProcess1/eventsNetwork1/scene1":"event/scene","/cameras/cameraPostProcess1/eventsNetwork1/setParam1":"event/setParam","/mainGeo":"obj/geo","/mainGeo/torus1":"sop/torus","/mainGeo/box1":"sop/box","/mainGeo/copy1":"sop/copy","/mainGeo/merge1":"sop/merge","/mainGeo/material1":"sop/material","/mainGeo/MAT":"sop/materialsNetwork","/mainGeo/MAT/meshToon1":"mat/meshToon","/mainGeo/objectProperties1":"sop/objectProperties"}
Js version
Editor version
Engine version
Logout
0%
There was a problem displaying your scene:
view scene source