1559 lines
43 KiB
HTML
Executable File
1559 lines
43 KiB
HTML
Executable File
|
||
<!doctype html>
|
||
<html lang="en" class="no-js">
|
||
<head>
|
||
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||
|
||
<meta name="description" content="Bioxel Nodes is a Blender add-on for scientific volumetric data visualization.">
|
||
|
||
|
||
<meta name="author" content="OmooLab">
|
||
|
||
|
||
<link rel="canonical" href="https://omoolab.github.io/BioxelNodes/0.2.x/nodes/">
|
||
|
||
|
||
<link rel="prev" href="../features/">
|
||
|
||
|
||
<link rel="next" href="../misc/">
|
||
|
||
|
||
<link rel="icon" href="../assets/images/favicon.png">
|
||
<meta name="generator" content="mkdocs-1.6.0, mkdocs-material-9.5.22">
|
||
|
||
|
||
|
||
<title>Nodes - Bioxel Nodes Docs</title>
|
||
|
||
|
||
|
||
<link rel="stylesheet" href="../assets/stylesheets/main.732c4fb1.min.css">
|
||
|
||
|
||
<link rel="stylesheet" href="../assets/stylesheets/palette.06af60db.min.css">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i%7CCascadia+Code:400,400i,700,700i&display=fallback">
|
||
<style>:root{--md-text-font:"Open Sans";--md-code-font:"Cascadia Code"}</style>
|
||
|
||
|
||
|
||
<link rel="stylesheet" href="../assets/_mkdocstrings.css">
|
||
|
||
<link rel="stylesheet" href="../stylesheets/extra.css">
|
||
|
||
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
</head>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="black" data-md-color-accent="indigo">
|
||
|
||
|
||
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
|
||
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
|
||
<label class="md-overlay" for="__drawer"></label>
|
||
<div data-md-component="skip">
|
||
|
||
|
||
<a href="#nodes" class="md-skip">
|
||
Skip to content
|
||
</a>
|
||
|
||
</div>
|
||
<div data-md-component="announce">
|
||
|
||
</div>
|
||
|
||
<div data-md-color-scheme="default" data-md-component="outdated" hidden>
|
||
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<header class="md-header md-header--shadow md-header--lifted" data-md-component="header">
|
||
<nav class="md-header__inner md-grid" aria-label="Header">
|
||
<a href=".." title="Bioxel Nodes Docs" class="md-header__button md-logo" aria-label="Bioxel Nodes Docs" data-md-component="logo">
|
||
|
||
<img src="../assets/logo.png" alt="logo">
|
||
|
||
</a>
|
||
<label class="md-header__button md-icon" for="__drawer">
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg>
|
||
</label>
|
||
<div class="md-header__title" data-md-component="header-title">
|
||
<div class="md-header__ellipsis">
|
||
<div class="md-header__topic">
|
||
<span class="md-ellipsis">
|
||
Bioxel Nodes Docs
|
||
</span>
|
||
</div>
|
||
<div class="md-header__topic" data-md-component="header-topic">
|
||
<span class="md-ellipsis">
|
||
|
||
Nodes
|
||
|
||
</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<form class="md-header__option" data-md-component="palette">
|
||
|
||
|
||
|
||
|
||
<input class="md-option" data-md-color-media="(prefers-color-scheme)" data-md-color-scheme="default" data-md-color-primary="black" data-md-color-accent="indigo" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_0">
|
||
|
||
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden>
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M448 256c0-106-86-192-192-192v384c106 0 192-86 192-192zM0 256a256 256 0 1 1 512 0 256 256 0 1 1-512 0z"/></svg>
|
||
</label>
|
||
|
||
|
||
|
||
|
||
|
||
<input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="black" data-md-color-accent="indigo" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_1">
|
||
|
||
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_2" hidden>
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M144.7 98.7c-21 34.1-33.1 74.3-33.1 117.3 0 98 62.8 181.4 150.4 211.7-12.4 2.8-25.3 4.3-38.6 4.3C126.6 432 48 353.3 48 256c0-68.9 39.4-128.4 96.8-157.3zm62.1-66C91.1 41.2 0 137.9 0 256c0 123.7 100 224 223.5 224 47.8 0 92-15 128.4-40.6 1.9-1.3 3.7-2.7 5.5-4 4.8-3.6 9.4-7.4 13.9-11.4 2.7-2.4 5.3-4.8 7.9-7.3 5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-3.7.6-7.4 1.2-11.1 1.6-5 .5-10.1.9-15.3 1h-4c-96.8-.2-175.2-78.9-175.2-176 0-54.8 24.9-103.7 64.1-136 1-.9 2.1-1.7 3.2-2.6 4-3.2 8.2-6.2 12.5-9 3.1-2 6.3-4 9.6-5.8 6.1-3.5 9.2-10.5 7.7-17.3s-7.3-11.9-14.3-12.5c-3.6-.3-7.1-.5-10.7-.6-2.7-.1-5.5-.1-8.2-.1-3.3 0-6.5.1-9.8.2-2.3.1-4.6.2-6.9.4z"/></svg>
|
||
</label>
|
||
|
||
|
||
|
||
|
||
|
||
<input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="black" data-md-color-accent="indigo" aria-label="Switch to system preference" type="radio" name="__palette" id="__palette_2">
|
||
|
||
<label class="md-header__button md-icon" title="Switch to system preference" for="__palette_0" hidden>
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M223.5 32C100 32 0 132.3 0 256s100 224 223.5 224c60.6 0 115.5-24.2 155.8-63.4 5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-9.8 1.7-19.8 2.6-30.1 2.6-96.9 0-175.5-78.8-175.5-176 0-65.8 36-123.1 89.3-153.3 6.1-3.5 9.2-10.5 7.7-17.3s-7.3-11.9-14.3-12.5c-6.3-.5-12.6-.8-19-.8z"/></svg>
|
||
</label>
|
||
|
||
|
||
</form>
|
||
|
||
|
||
|
||
<script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
|
||
|
||
|
||
|
||
<label class="md-header__button md-icon" for="__search">
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
|
||
</label>
|
||
<div class="md-search" data-md-component="search" role="dialog">
|
||
<label class="md-search__overlay" for="__search"></label>
|
||
<div class="md-search__inner" role="search">
|
||
<form class="md-search__form" name="search">
|
||
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
|
||
<label class="md-search__icon md-icon" for="__search">
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
|
||
</label>
|
||
<nav class="md-search__options" aria-label="Search">
|
||
|
||
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||
</button>
|
||
</nav>
|
||
|
||
</form>
|
||
<div class="md-search__output">
|
||
<div class="md-search__scrollwrap" data-md-scrollfix>
|
||
<div class="md-search-result" data-md-component="search-result">
|
||
<div class="md-search-result__meta">
|
||
Initializing search
|
||
</div>
|
||
<ol class="md-search-result__list" role="presentation"></ol>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<div class="md-header__source">
|
||
<a href="https://github.com/OmooLab/BioxelNodes" title="Go to repository" class="md-source" data-md-component="source">
|
||
<div class="md-source__icon md-icon">
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
|
||
</div>
|
||
<div class="md-source__repository">
|
||
OmooLab/BioxelNodes
|
||
</div>
|
||
</a>
|
||
</div>
|
||
|
||
</nav>
|
||
|
||
|
||
|
||
<nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
|
||
<div class="md-grid">
|
||
<ul class="md-tabs__list">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-tabs__item md-tabs__item--active">
|
||
<a href=".." class="md-tabs__link">
|
||
|
||
|
||
|
||
|
||
BioxelNodes
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
</ul>
|
||
</div>
|
||
</nav>
|
||
|
||
|
||
</header>
|
||
|
||
<div class="md-container" data-md-component="container">
|
||
|
||
|
||
|
||
|
||
<main class="md-main" data-md-component="main">
|
||
<div class="md-main__inner md-grid">
|
||
|
||
|
||
|
||
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
|
||
<div class="md-sidebar__scrollwrap">
|
||
<div class="md-sidebar__inner">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
|
||
<label class="md-nav__title" for="__drawer">
|
||
<a href=".." title="Bioxel Nodes Docs" class="md-nav__button md-logo" aria-label="Bioxel Nodes Docs" data-md-component="logo">
|
||
|
||
<img src="../assets/logo.png" alt="logo">
|
||
|
||
</a>
|
||
Bioxel Nodes Docs
|
||
</label>
|
||
|
||
<div class="md-nav__source">
|
||
<a href="https://github.com/OmooLab/BioxelNodes" title="Go to repository" class="md-source" data-md-component="source">
|
||
<div class="md-source__icon md-icon">
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
|
||
</div>
|
||
<div class="md-source__repository">
|
||
OmooLab/BioxelNodes
|
||
</div>
|
||
</a>
|
||
</div>
|
||
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
|
||
|
||
|
||
|
||
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_1" checked>
|
||
|
||
|
||
|
||
<div class="md-nav__link md-nav__container">
|
||
<a href=".." class="md-nav__link ">
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
BioxelNodes
|
||
</span>
|
||
|
||
|
||
</a>
|
||
|
||
|
||
<label class="md-nav__link " for="__nav_1" id="__nav_1_label" tabindex="">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
</label>
|
||
|
||
</div>
|
||
|
||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_1_label" aria-expanded="true">
|
||
<label class="md-nav__title" for="__nav_1">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
BioxelNodes
|
||
</label>
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../getting-started/" class="md-nav__link">
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
Getting Started
|
||
</span>
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../features/" class="md-nav__link">
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
Features & Options
|
||
</span>
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--active">
|
||
|
||
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
|
||
|
||
|
||
|
||
|
||
|
||
<label class="md-nav__link md-nav__link--active" for="__toc">
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
Nodes
|
||
</span>
|
||
|
||
|
||
<span class="md-nav__icon md-icon"></span>
|
||
</label>
|
||
|
||
<a href="./" class="md-nav__link md-nav__link--active">
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
Nodes
|
||
</span>
|
||
|
||
|
||
</a>
|
||
|
||
|
||
|
||
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<label class="md-nav__title" for="__toc">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
Table of contents
|
||
</label>
|
||
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#nodes-design-concept" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
Nodes Design Concept
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#mask-methods" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
Mask Methods
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Mask Methods">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#mask-by-threshold" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
⬆️ Mask by Threshold
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#mask-by-range" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
↕ Mask by Range
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#mask-by-label" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
🔤 Mask by Label
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#shaders" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
Shaders
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Shaders">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#solid-shader" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
🥚 Solid Shader
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#slime-shader" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
🦠 Slime Shader
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#volume-shader" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
☁️ Volume Shader
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#universal-shader" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
🔬 Universal Shader
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#cutters" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
Cutters
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Cutters">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#cut" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
🪚 Cut
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#plane-cutter" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
🧀 Plane Cutter
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#plane-object-cutter" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
🧀 Plane Object Cutter
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#utils" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
Utils
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Utils">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#join-component" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
📦 Join Component
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#separate-component" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
🗂️ Separate Component
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#colors" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
Colors
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Colors">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#color-presents" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
🎨 Color Presents
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#2-color-ramp-2" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
2️⃣ Color Ramp 2
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#3-color-ramp-3" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
3️⃣ Color Ramp 3
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#4-color-ramp-4" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
4️⃣ Color Ramp 4
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#5-color-ramp-5" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
5️⃣ Color Ramp 5
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../misc/" class="md-nav__link">
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
Future Features
|
||
</span>
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
|
||
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
|
||
<div class="md-sidebar__scrollwrap">
|
||
<div class="md-sidebar__inner">
|
||
|
||
|
||
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<label class="md-nav__title" for="__toc">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
Table of contents
|
||
</label>
|
||
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#nodes-design-concept" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
Nodes Design Concept
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#mask-methods" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
Mask Methods
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Mask Methods">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#mask-by-threshold" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
⬆️ Mask by Threshold
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#mask-by-range" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
↕ Mask by Range
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#mask-by-label" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
🔤 Mask by Label
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#shaders" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
Shaders
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Shaders">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#solid-shader" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
🥚 Solid Shader
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#slime-shader" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
🦠 Slime Shader
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#volume-shader" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
☁️ Volume Shader
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#universal-shader" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
🔬 Universal Shader
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#cutters" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
Cutters
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Cutters">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#cut" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
🪚 Cut
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#plane-cutter" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
🧀 Plane Cutter
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#plane-object-cutter" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
🧀 Plane Object Cutter
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#utils" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
Utils
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Utils">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#join-component" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
📦 Join Component
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#separate-component" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
🗂️ Separate Component
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#colors" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
Colors
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Colors">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#color-presents" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
🎨 Color Presents
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#2-color-ramp-2" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
2️⃣ Color Ramp 2
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#3-color-ramp-3" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
3️⃣ Color Ramp 3
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#4-color-ramp-4" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
4️⃣ Color Ramp 4
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#5-color-ramp-5" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
5️⃣ Color Ramp 5
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
|
||
</nav>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
|
||
<div class="md-content" data-md-component="content">
|
||
<article class="md-content__inner md-typeset">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<h1 id="nodes">Nodes</h1>
|
||
<h2 id="nodes-design-concept">Nodes Design Concept</h2>
|
||
<p>In order to build a component, the general process is to first use a "Mask Method" node to build the surface of the component based on its layers, and then connect to a "Assign Shader" node to add the material physical properties. Finally, if you need to cut the cross-section, then connect to a "Cut" node. The whole process is shown in the following diagram</p>
|
||
<p><img alt="alt text" src="../assets/nodes_concept.png" /></p>
|
||
<p>A typical example looks like this:</p>
|
||
<p><img alt="alt text" src="../assets/nodes_example.png" /></p>
|
||
<p>The "Mask Method" node tends to be very computationally intensive, and if it consumes too much time, then you can bake it with a "Bake" node after it (but you need to save the Blender file first).</p>
|
||
<p><img alt="alt text" src="../assets/nodes_bake.png" /></p>
|
||
<h2 id="mask-methods">Mask Methods</h2>
|
||
<p>This type of node is responsible for culling out the extent of the component that does not need to be rendered, forming the interface between the object and the object, or the surface of the object (i.e., the interface between the object and the air)</p>
|
||
<h3 id="mask-by-threshold">⬆️ Mask by Threshold</h3>
|
||
<div class="grid cards">
|
||
<ul>
|
||
<li>
|
||
<p><img alt="alt text" src="../assets/nodes_mask-by-threshold.png" /></p>
|
||
</li>
|
||
<li>
|
||
<p>Generate a mask by keeping only the positions that exceed the threshold (this only works with scalar)</p>
|
||
<hr />
|
||
<p>Node Parameter:</p>
|
||
<ul>
|
||
<li><strong>Layer</strong>, <em>the input scalar</em></li>
|
||
<li><strong>Threshold</strong>, <em>the threshold value</em></li>
|
||
<li>Preview<ul>
|
||
<li><strong>Detail Factor</strong>, <em>the fineness of the preview, the larger the factor, the coarser preview is</em></li>
|
||
</ul>
|
||
</li>
|
||
<li>(Label Mask)<ul>
|
||
<li><strong>Layer</strong>, <em>the input label</em></li>
|
||
<li><strong>Invert</strong>, <em>invert mask</em></li>
|
||
<li><strong>Sample Size</strong>, <em>the mask sample size</em></li>
|
||
</ul>
|
||
</li>
|
||
<li>(Replacement)<ul>
|
||
<li><strong>Joined</strong>, <em>the joined layer</em></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<h3 id="mask-by-range">↕ Mask by Range</h3>
|
||
<div class="grid cards">
|
||
<ul>
|
||
<li>
|
||
<p><img alt="alt text" src="../assets/nodes_mask-by-range.png" /></p>
|
||
</li>
|
||
<li>
|
||
<p>Generate a mask by keeping only the positions that in range (this only works with scalar)</p>
|
||
<hr />
|
||
<p>Node Parameter:</p>
|
||
<ul>
|
||
<li><strong>Layer</strong>, <em>the input scalar</em></li>
|
||
<li><strong>Fram Min</strong>, <em>the lower limit</em></li>
|
||
<li><strong>Fram Max</strong>, <em>the upper limit</em></li>
|
||
<li>Preview<ul>
|
||
<li><strong>Detail Factor</strong>, <em>the fineness of the preview, the larger the factor, the coarser preview is</em></li>
|
||
</ul>
|
||
</li>
|
||
<li>(Label Mask)<ul>
|
||
<li><strong>Layer</strong>, <em>the input label</em></li>
|
||
<li><strong>Invert</strong>, <em>invert mask</em></li>
|
||
<li><strong>Sample Size</strong>, <em>the mask sample size</em></li>
|
||
</ul>
|
||
</li>
|
||
<li>(Replacement)<ul>
|
||
<li><strong>Joined</strong>, <em>the joined layer</em></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<h3 id="mask-by-label">🔤 Mask by Label</h3>
|
||
<div class="grid cards">
|
||
<ul>
|
||
<li>
|
||
<p><img alt="alt text" src="../assets/nodes_mask-by-label.png" /></p>
|
||
</li>
|
||
<li>
|
||
<p>Generate a mask by keeping only the positions that in label (this only works with label)</p>
|
||
<hr />
|
||
<p>Node Parameter:</p>
|
||
<ul>
|
||
<li><strong>Layer</strong>, <em>the input label</em></li>
|
||
<li>Preview<ul>
|
||
<li><strong>Detail Factor</strong>, <em>the fineness of the preview, the larger the factor, the coarser preview is</em></li>
|
||
</ul>
|
||
</li>
|
||
<li>(Replacement)<ul>
|
||
<li><strong>Joined</strong>, <em>the joined layer</em></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<h2 id="shaders">Shaders</h2>
|
||
<p>This type of node is responsible for setting material physical properties to the component to reflect the differences in rendering effects of different components.</p>
|
||
<h3 id="solid-shader">🥚 Solid Shader</h3>
|
||
<div class="grid cards">
|
||
<ul>
|
||
<li>
|
||
<p><img alt="alt text" src="../assets/nodes_solid-shader.png" /></p>
|
||
</li>
|
||
<li>
|
||
<p>Assign a opaque shader based on a preview mesh with no inclusions visible. Fastest rendering speed. Does not support cross-section and color ramp.</p>
|
||
<hr />
|
||
<p>Node Parameter:</p>
|
||
<ul>
|
||
<li><strong>Component</strong>, <em>the upstream component</em><ul>
|
||
<li>Base</li>
|
||
<li><strong>Color</strong>, <em>albedo or emission color</em></li>
|
||
<li><strong>Subsurface</strong>, <em>the subsurface scale</em></li>
|
||
<li><strong>Opacity</strong>, <em>the opacity of all</em></li>
|
||
</ul>
|
||
</li>
|
||
<li>Specular<ul>
|
||
<li><strong>Specular</strong>, <em>the specular of surface</em></li>
|
||
<li><strong>Roughness</strong>, <em>the roughness of surface</em></li>
|
||
</ul>
|
||
</li>
|
||
<li>Emission<ul>
|
||
<li><strong>Emission</strong>, <em>the emission strength</em></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<h3 id="slime-shader">🦠 Slime Shader</h3>
|
||
<div class="grid cards">
|
||
<ul>
|
||
<li>
|
||
<p><img alt="alt text" src="../assets/nodes_slime-shader.png" /></p>
|
||
</li>
|
||
<li>
|
||
<p>Assign a semi-transparent shader based on the preview mesh with visible inclusions. Does not support cross-section and color ramp.</p>
|
||
<hr />
|
||
<p>Node Parameter:</p>
|
||
<ul>
|
||
<li><strong>Component</strong>, <em>the upstream component</em></li>
|
||
<li>Base<ul>
|
||
<li><strong>Color</strong>, <em>albedo or emission color</em></li>
|
||
<li><strong>Density</strong>, <em>the degree of solidity</em></li>
|
||
<li><strong>Anisotropy</strong>, <em>the anisotropy of scatting</em></li>
|
||
</ul>
|
||
</li>
|
||
<li>Specular<ul>
|
||
<li><strong>Specular</strong>, <em>the specular of surface</em></li>
|
||
<li><strong>Roughness</strong>, <em>the roughness of surface</em></li>
|
||
</ul>
|
||
</li>
|
||
<li>Emission<ul>
|
||
<li><strong>Emission</strong>, <em>the emission strength</em></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<h3 id="volume-shader">☁️ Volume Shader</h3>
|
||
<div class="grid cards">
|
||
<ul>
|
||
<li>
|
||
<p><img alt="alt text" src="../assets/nodes_volume-shader.png" /></p>
|
||
</li>
|
||
<li>
|
||
<p>Assign a volume-based shader with support for cross-section and color ramp.</p>
|
||
<hr />
|
||
<p>Node Parameter:</p>
|
||
<ul>
|
||
<li><strong>Component</strong>, <em>the upstream component</em></li>
|
||
<li>Base<ul>
|
||
<li><strong>Color</strong>, <em>albedo or emission color</em></li>
|
||
<li><strong>Density</strong>, <em>the degree of solidity</em></li>
|
||
<li><strong>Anisotropy</strong>, <em>the anisotropy of scatting</em></li>
|
||
</ul>
|
||
</li>
|
||
<li>Emission<ul>
|
||
<li><strong>Emission</strong>, <em>the emission strength</em></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<h3 id="universal-shader">🔬 Universal Shader</h3>
|
||
<div class="grid cards">
|
||
<ul>
|
||
<li>
|
||
<p><img alt="alt text" src="../assets/nodes_universal-shader.png" /></p>
|
||
</li>
|
||
<li>
|
||
<p>Assign a ultimate shader, supporting all features of Bioxel Nodes. Of course, the price is slow rendering, which can be greatly improved by adjusting the Volumes > Step Rate to 100 in the Render Settings Panel.</p>
|
||
<hr />
|
||
<p>Node Parameter:</p>
|
||
<ul>
|
||
<li><strong>Component</strong>, <em>the upstream component</em></li>
|
||
<li>Base<ul>
|
||
<li><strong>Color</strong>, <em>albedo or emission color</em></li>
|
||
<li><strong>Density</strong>, <em>the degree of solidity</em></li>
|
||
<li><strong>Anisotropy</strong>, <em>the anisotropy of scatting</em></li>
|
||
</ul>
|
||
</li>
|
||
<li>Specular<ul>
|
||
<li><strong>Specular</strong>, <em>the specular of surface</em></li>
|
||
<li><strong>Roughness</strong>, <em>the roughness of surface</em></li>
|
||
</ul>
|
||
</li>
|
||
<li>Emission<ul>
|
||
<li><strong>Emission</strong>, <em>the emission strength</em></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<h2 id="cutters">Cutters</h2>
|
||
<p>This type of node is responsible for cutting components to present cross-section</p>
|
||
<h3 id="cut">🪚 Cut</h3>
|
||
<div class="grid cards">
|
||
<ul>
|
||
<li>
|
||
<p><img alt="alt text" src="../assets/nodes_cut.png" /></p>
|
||
</li>
|
||
<li>
|
||
<p>Execute all cutters on one component.</p>
|
||
<hr />
|
||
<p>Node Parameter:</p>
|
||
<ul>
|
||
<li><strong>Component</strong>, <em>the upstream component</em></li>
|
||
<li><strong>Cutter 0~4</strong>, <em>the cutters</em></li>
|
||
<li><strong>Hide Guide</strong>, <em>hide the cutter guide</em></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<h3 id="plane-cutter">🧀 Plane Cutter</h3>
|
||
<div class="grid cards">
|
||
<ul>
|
||
<li>
|
||
<p><img alt="alt text" src="../assets/nodes_plane-cutter.png" /></p>
|
||
</li>
|
||
<li>
|
||
<p>Flat plane cutter, cuts off above Z-axis in local.</p>
|
||
<hr />
|
||
<p>Node Parameter:</p>
|
||
<ul>
|
||
<li><strong>Origin</strong>, <em>plane cutter position</em></li>
|
||
<li><strong>Direction</strong>, <em>plane cutter orientation</em></li>
|
||
<li>Guide<ul>
|
||
<li><strong>Show</strong>, <em>show the cutter guide</em></li>
|
||
<li><strong>Scale</strong>, <em>scale the cutter guide</em></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<h3 id="plane-object-cutter">🧀 Plane Object Cutter</h3>
|
||
<div class="grid cards">
|
||
<ul>
|
||
<li>
|
||
<p><img alt="alt text" src="../assets/nodes_plane-object-cutter.png" /></p>
|
||
</li>
|
||
<li>
|
||
<p>Also a plane cutter, but origin and direction are based on exist object.</p>
|
||
<hr />
|
||
<p>Node Parameter:</p>
|
||
<ul>
|
||
<li><strong>Plane</strong>, <em>the plane object</em></li>
|
||
<li>Guide<ul>
|
||
<li><strong>Show</strong>, <em>show the cutter guide</em></li>
|
||
<li><strong>Scale</strong>, <em>scale the cutter guide</em></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<h2 id="utils">Utils</h2>
|
||
<h3 id="join-component">📦 Join Component</h3>
|
||
<div class="grid cards">
|
||
<ul>
|
||
<li>
|
||
<p><img alt="alt text" src="../assets/nodes_join-component.png" /></p>
|
||
</li>
|
||
<li>
|
||
<p>Components' combination should not be done by "Join Geometry" node because Blender Cycles can't render volumes in the same position, so the node will slightly offset all components randomly to avoid this problem.</p>
|
||
<hr />
|
||
<p>Node Parameter:</p>
|
||
<ul>
|
||
<li><strong>Component 0~4</strong>, <em>the components</em></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<h3 id="separate-component">🗂️ Separate Component</h3>
|
||
<div class="grid cards">
|
||
<ul>
|
||
<li>
|
||
<p><img alt="alt text" src="../assets/nodes_separate-component.png" /></p>
|
||
</li>
|
||
<li>
|
||
<p>Volumes, previews, and guides are included within a component. This node can split them by type.</p>
|
||
<hr />
|
||
<p>Node Parameter:</p>
|
||
<ul>
|
||
<li><strong>Component</strong>, <em>the upstream component</em></li>
|
||
<li><strong>Type</strong>, <em>the sub-object type, 0 is volume, 1 is preview, 2 is guide</em></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<h2 id="colors">Colors</h2>
|
||
<p>This type of node is responsible for setting the color properties of the shader</p>
|
||
<h3 id="color-presents">🎨 Color Presents</h3>
|
||
<div class="grid cards">
|
||
<ul>
|
||
<li>
|
||
<p><img alt="alt text" src="../assets/nodes_color-presets.png" /></p>
|
||
</li>
|
||
<li>
|
||
<p>Set color from presets.</p>
|
||
<hr />
|
||
<p>Node Parameter:</p>
|
||
<ul>
|
||
<li><strong>Component</strong>, <em>the upstream component</em></li>
|
||
<li><strong>Presets</strong>, <em>select color presents</em></li>
|
||
<li><strong>Fram Min</strong>, <em>ramp factor lower limit</em></li>
|
||
<li><strong>Fram Max</strong>, <em>ramp factor upper limit</em></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<h3 id="2-color-ramp-2">2️⃣ Color Ramp 2</h3>
|
||
<div class="grid cards">
|
||
<ul>
|
||
<li>
|
||
<p><img alt="alt text" src="../assets/nodes_color-ramp-2.png" /></p>
|
||
</li>
|
||
<li>
|
||
<p>Set color ramp base on scalar value.</p>
|
||
<hr />
|
||
<p>Node Parameter:</p>
|
||
<ul>
|
||
<li><strong>Component</strong>, <em>the upstream component</em></li>
|
||
<li><strong>Fram Min</strong>, <em>ramp factor lower limit</em></li>
|
||
<li><strong>Fram Max</strong>, <em>ramp factor upper limit</em></li>
|
||
<li>Ramp<ul>
|
||
<li><strong>Pos0 Color</strong>, <em>position 0% Color</em></li>
|
||
<li><strong>Pos1 Color</strong>, <em>position 100% Color</em></li>
|
||
<li><strong>Gamma</strong>, <em>non-linear coefficient, the larger the coefficient, the more lower value color</em></li>
|
||
<li><strong>Contrast</strong>, <em>the larger the contrast, the harder color ramp will be</em></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<h3 id="3-color-ramp-3">3️⃣ Color Ramp 3</h3>
|
||
<div class="grid cards">
|
||
<ul>
|
||
<li>
|
||
<p><img alt="alt text" src="../assets/nodes_color-ramp-3.png" /></p>
|
||
</li>
|
||
<li>
|
||
<p>Set color ramp base on scalar value.</p>
|
||
<hr />
|
||
<p>Node Parameter:</p>
|
||
<ul>
|
||
<li><strong>Component</strong>, <em>the upstream component</em></li>
|
||
<li><strong>Fram Min</strong>, <em>ramp factor lower limit</em></li>
|
||
<li><strong>Fram Max</strong>, <em>ramp factor upper limit</em></li>
|
||
<li>Ramp<ul>
|
||
<li><strong>Pos0 Color</strong>, <em>position 0% Color</em></li>
|
||
<li><strong>Pos1 Color</strong>, <em>position 50% Color</em></li>
|
||
<li><strong>Pos2 Color</strong>, <em>position 100% Color</em></li>
|
||
<li><strong>Gamma</strong>, <em>non-linear coefficient, the larger the coefficient, the more lower value color</em></li>
|
||
<li><strong>Contrast</strong>, <em>the larger the contrast, the harder color ramp will be</em></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<h3 id="4-color-ramp-4">4️⃣ Color Ramp 4</h3>
|
||
<div class="grid cards">
|
||
<ul>
|
||
<li>
|
||
<p><img alt="alt text" src="../assets/nodes_color-ramp-4.png" /></p>
|
||
</li>
|
||
<li>
|
||
<p>Set color ramp base on scalar value.</p>
|
||
<hr />
|
||
<p>Node Parameter:</p>
|
||
<ul>
|
||
<li><strong>Component</strong>, <em>the upstream component</em></li>
|
||
<li><strong>Fram Min</strong>, <em>ramp factor lower limit</em></li>
|
||
<li><strong>Fram Max</strong>, <em>ramp factor upper limit</em></li>
|
||
<li>Ramp<ul>
|
||
<li><strong>Pos0 Color</strong>, <em>position 0% Color</em></li>
|
||
<li><strong>Pos1 Color</strong>, <em>position 33.3% Color</em></li>
|
||
<li><strong>Pos2 Color</strong>, <em>position 66.6% Color</em></li>
|
||
<li><strong>Pos3 Color</strong>, <em>position 100% Color</em></li>
|
||
<li><strong>Gamma</strong>, <em>non-linear coefficient, the larger the coefficient, the more lower value color</em></li>
|
||
<li><strong>Contrast</strong>, <em>the larger the contrast, the harder color ramp will be</em></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<h3 id="5-color-ramp-5">5️⃣ Color Ramp 5</h3>
|
||
<div class="grid cards">
|
||
<ul>
|
||
<li>
|
||
<p><img alt="alt text" src="../assets/nodes_color-ramp-5.png" /></p>
|
||
</li>
|
||
<li>
|
||
<p>Set color ramp base on scalar value.</p>
|
||
<hr />
|
||
<p>Node Parameter:</p>
|
||
<ul>
|
||
<li><strong>Component</strong>, <em>the upstream component</em></li>
|
||
<li><strong>Fram Min</strong>, <em>ramp factor lower limit</em></li>
|
||
<li><strong>Fram Max</strong>, <em>ramp factor upper limit</em></li>
|
||
<li>Ramp<ul>
|
||
<li><strong>Pos0 Color</strong>, <em>position 0% Color</em></li>
|
||
<li><strong>Pos1 Color</strong>, <em>position 25% Color</em></li>
|
||
<li><strong>Pos2 Color</strong>, <em>position 50% Color</em></li>
|
||
<li><strong>Pos3 Color</strong>, <em>position 75% Color</em></li>
|
||
<li><strong>Pos4 Color</strong>, <em>position 100% Color</em></li>
|
||
<li><strong>Gamma</strong>, <em>non-linear coefficient, the larger the coefficient, the more lower value color</em></li>
|
||
<li><strong>Contrast</strong>, <em>the larger the contrast, the harder color ramp will be</em></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
</article>
|
||
</div>
|
||
|
||
|
||
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
|
||
</div>
|
||
|
||
</main>
|
||
|
||
<footer class="md-footer">
|
||
|
||
|
||
|
||
<nav class="md-footer__inner md-grid" aria-label="Footer" >
|
||
|
||
|
||
<a href="../features/" class="md-footer__link md-footer__link--prev" aria-label="Previous: Features & Options">
|
||
<div class="md-footer__button md-icon">
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
|
||
</div>
|
||
<div class="md-footer__title">
|
||
<span class="md-footer__direction">
|
||
Previous
|
||
</span>
|
||
<div class="md-ellipsis">
|
||
Features & Options
|
||
</div>
|
||
</div>
|
||
</a>
|
||
|
||
|
||
|
||
<a href="../misc/" class="md-footer__link md-footer__link--next" aria-label="Next: Future Features">
|
||
<div class="md-footer__title">
|
||
<span class="md-footer__direction">
|
||
Next
|
||
</span>
|
||
<div class="md-ellipsis">
|
||
Future Features
|
||
</div>
|
||
</div>
|
||
<div class="md-footer__button md-icon">
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg>
|
||
</div>
|
||
</a>
|
||
|
||
</nav>
|
||
|
||
|
||
<div class="md-footer-meta md-typeset">
|
||
<div class="md-footer-meta__inner md-grid">
|
||
<div class="md-copyright">
|
||
|
||
<div class="md-copyright__highlight">
|
||
Copyright © 2020 - 2024 Omoolab
|
||
</div>
|
||
|
||
|
||
Made with
|
||
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
|
||
Material for MkDocs
|
||
</a>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
</footer>
|
||
|
||
</div>
|
||
<div class="md-dialog" data-md-component="dialog">
|
||
<div class="md-dialog__inner md-typeset"></div>
|
||
</div>
|
||
|
||
|
||
<script id="__config" type="application/json">{"base": "..", "features": ["header.autohide", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "content.code.copy", "content.code.select"], "search": "../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
|
||
|
||
|
||
<script src="../assets/javascripts/bundle.5cfa9459.min.js"></script>
|
||
|
||
|
||
</body>
|
||
</html> |