| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207 |
- <!DOCTYPE html>
- <html class="writer-html5" lang="en" >
- <head>
- <meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
- <meta property="article:modified_time" content="2026-02-20T16:57:39+00:00" /><meta property="og:title" content="Materials" />
- <meta property="og:type" content="website" />
- <meta property="og:url" content="https://docs.crownengine.org/html/latest/rendering/materials.html" />
- <meta property="og:site_name" content="Crown 0.60.0 Manual" />
- <meta property="og:description" content="Materials in Crown are resources with the.material extension. They define the shading (i.e. the visual appearance) of objects in the scene. Some materials displayed in the Project Browser., At the technical level, a material binds a shader together with its options and paramet..." />
- <meta property="og:image" content="https://docs.crownengine.org/html/latest/_images/materials.png" />
- <meta property="og:image:alt" content="Crown 0.60.0 Manual" />
- <meta name="description" content="Materials in Crown are resources with the.material extension. They define the shading (i.e. the visual appearance) of objects in the scene. Some materials displayed in the Project Browser., At the technical level, a material binds a shader together with its options and paramet..." />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <title>Materials — Crown 0.60.0 Manual 0.62.0 documentation</title>
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
- <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
- <link rel="stylesheet" href="../_static/css/custom.css" type="text/css" />
- <link rel="shortcut icon" href="../_static/org.crownengine.Crown.svg"/>
- <link rel="canonical" href="https://docs.crownengine.org/html/latest/rendering/materials.html" />
- <!--[if lt IE 9]>
- <script src="../_static/js/html5shiv.min.js"></script>
- <![endif]-->
-
- <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
- <script src="../_static/jquery.js"></script>
- <script src="../_static/underscore.js"></script>
- <script src="../_static/doctools.js"></script>
- <script src="../_static/js/theme.js"></script>
- <link rel="index" title="Index" href="../genindex.html" />
- <link rel="search" title="Search" href="../search.html" />
- <link rel="copyright" title="Copyright" href="../copyright.html" />
- <link rel="next" title="Shading Environment" href="shading_environment.html" />
- <link rel="prev" title="Lighting" href="lighting.html" />
- </head>
- <body class="wy-body-for-nav">
- <div class="wy-grid-for-nav">
- <nav data-toggle="wy-nav-shift" class="wy-nav-side">
- <div class="wy-side-scroll">
- <div class="wy-side-nav-search" >
- <a href="../index.html">
- <img src="../_static/org.crownengine.Crown.svg" class="logo" alt="Logo"/>
- </a>
- <div class="version">
- Crown 0.60.0 Manual
- </div>
- <div role="search">
- <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
- <input type="text" name="q" placeholder="Search docs" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
- </form>
- </div>
- </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
- <ul class="current">
- <li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li>
- <li class="toctree-l1"><a class="reference internal" href="../introduction.html">Introduction</a></li>
- <li class="toctree-l1"><a class="reference internal" href="../installing_crown/index.html">Installing Crown</a></li>
- <li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
- <li class="toctree-l1"><a class="reference internal" href="../level_editor/index.html">Level Editor</a></li>
- <li class="toctree-l1"><a class="reference internal" href="../importing_resources/index.html">Importing Resources</a></li>
- <li class="toctree-l1"><a class="reference internal" href="../units/index.html">Units</a></li>
- <li class="toctree-l1 current"><a class="reference internal" href="index.html">Rendering</a><ul class="current">
- <li class="toctree-l2"><a class="reference internal" href="lighting.html">Lighting</a></li>
- <li class="toctree-l2 current"><a class="current reference internal" href="#">Materials</a><ul>
- <li class="toctree-l3"><a class="reference internal" href="#creating-materials">Creating Materials</a></li>
- <li class="toctree-l3"><a class="reference internal" href="#assigning-materials-to-units">Assigning Materials to Units</a></li>
- <li class="toctree-l3"><a class="reference internal" href="#modifying-material-properties">Modifying Material properties</a></li>
- </ul>
- </li>
- <li class="toctree-l2"><a class="reference internal" href="shading_environment.html">Shading Environment</a></li>
- </ul>
- </li>
- <li class="toctree-l1"><a class="reference internal" href="../physics/index.html">Physics</a></li>
- <li class="toctree-l1"><a class="reference internal" href="../gameplay/index.html">Writing Gameplay</a></li>
- <li class="toctree-l1"><a class="reference internal" href="../deploying/index.html">Deploying</a></li>
- <li class="toctree-l1"><a class="reference internal" href="../reference/index.html">Reference</a></li>
- <li class="toctree-l1"><a class="reference internal" href="../lua_api.html">Lua API reference</a></li>
- <li class="toctree-l1"><a class="reference internal" href="../glossary.html">Glossary</a></li>
- <li class="toctree-l1"><a class="reference internal" href="../copyright.html">License</a></li>
- <li class="toctree-l1"><a class="reference internal" href="../hackers/index.html">Engine Hackers</a></li>
- </ul>
- </div>
- </div>
- </nav>
- <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
- <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
- <a href="../index.html">Crown 0.60.0 Manual</a>
- </nav>
- <div class="wy-nav-content">
- <div class="rst-content">
- <div role="navigation" aria-label="Page navigation">
- <ul class="wy-breadcrumbs">
- <li><a href="../index.html" class="icon icon-home"></a> »</li>
- <li><a href="index.html">Rendering</a> »</li>
- <li>Materials</li>
- <li class="wy-breadcrumbs-aside">
- <a href="../_sources/rendering/materials.rst.txt" rel="nofollow"> View page source</a>
- </li>
- </ul>
- <hr/>
- </div>
- <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
- <div itemprop="articleBody">
-
- <section id="materials">
- <h1>Materials<a class="headerlink" href="#materials" title="Permalink to this headline">¶</a></h1>
- <p>Materials in Crown are resources with the <code class="docutils literal notranslate"><span class="pre">.material</span></code> extension. They define
- the shading (i.e. the visual appearance) of objects in the scene.</p>
- <figure class="align-center" id="id1">
- <img alt="../_images/materials.png" src="../_images/materials.png" />
- <figcaption>
- <p><span class="caption-text">Some materials displayed in the Project Browser.</span><a class="headerlink" href="#id1" title="Permalink to this image">¶</a></p>
- </figcaption>
- </figure>
- <p>At the technical level, a material binds a shader together with its options
- and parameters (uniforms and samplers). For example, the built-in
- <code class="docutils literal notranslate"><span class="pre">core/units/primitive</span></code> material uses the shader named <code class="docutils literal notranslate"><span class="pre">mesh</span></code> and assigns
- values appropriate to primitive objects to all uniforms that shader exposes.</p>
- <section id="creating-materials">
- <h2>Creating Materials<a class="headerlink" href="#creating-materials" title="Permalink to this headline">¶</a></h2>
- <p>Materials are normally created indirectly by the <a class="reference internal" href="../importing_resources/importing_resources.html#importing-resources"><span class="std std-ref">importers</span></a> when you bring in external resources.</p>
- <p>For instance:</p>
- <ul class="simple">
- <li><p>Importing a 3D scene automatically generates the required <code class="docutils literal notranslate"><span class="pre">.material</span></code>
- resources</p></li>
- <li><p>Importing sprites also produces associated material resources</p></li>
- </ul>
- <p>You can also create standalone materials directly in the <a class="reference internal" href="../level_editor/level_editor.html#level-editor"><span class="std std-ref">Level Editor</span></a>:</p>
- <ol class="arabic simple">
- <li><p>Open the <a class="reference internal" href="../level_editor/project_browser.html#project-browser"><span class="std std-ref">Project Browser</span></a></p></li>
- <li><p>Right-click inside the target folder</p></li>
- <li><p>Choose <code class="docutils literal notranslate"><span class="pre">New</span> <span class="pre">Material...</span></code></p></li>
- <li><p>Give it a unique name and confirm</p></li>
- </ol>
- </section>
- <section id="assigning-materials-to-units">
- <h2>Assigning Materials to Units<a class="headerlink" href="#assigning-materials-to-units" title="Permalink to this headline">¶</a></h2>
- <p>Materials are assigned to units through their rendering components. The <code class="docutils literal notranslate"><span class="pre">Mesh</span>
- <span class="pre">Renderer</span></code> component for example exposes a <code class="docutils literal notranslate"><span class="pre">Material</span></code> property.</p>
- <figure class="align-center" id="id2">
- <img alt="../_images/mesh_renderer_material.svg" src="../_images/mesh_renderer_material.svg" /><figcaption>
- <p><span class="caption-text">The Material selector in the Mesh Renderer component.</span><a class="headerlink" href="#id2" title="Permalink to this image">¶</a></p>
- </figcaption>
- </figure>
- <p>Click the folder icon next to the material’s name to open the Material Chooser
- and pick the desired material from the list.</p>
- <p>You can also assign materials programmatically at runtime via
- the <a class="reference internal" href="../lua_api.html#renderworld"><span class="std std-ref">RenderWorld</span></a> Lua API.</p>
- </section>
- <section id="modifying-material-properties">
- <h2>Modifying Material properties<a class="headerlink" href="#modifying-material-properties" title="Permalink to this headline">¶</a></h2>
- <p>Once a material is assigned, you can modify its properties dynamically from
- Lua scripts using the <a class="reference internal" href="../physics/rigid_bodies.html#material"><span class="std std-ref">Material</span></a> API.</p>
- </section>
- </section>
- </div>
- </div>
- <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
- <a href="lighting.html" class="btn btn-neutral float-left" title="Lighting" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
- <a href="shading_environment.html" class="btn btn-neutral float-right" title="Shading Environment" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
- </div>
- <hr/>
- <div role="contentinfo">
- <p>© <a href="../copyright.html">Copyright</a> Except where otherwise noted, content on this page is licensed under a CC-BY-SA 4.0 Int. License.
- <span class="lastupdated">Last updated on Feb 20, 2026.
- </span></p>
- </div>
- Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
- <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
- provided by <a href="https://readthedocs.org">Read the Docs</a>.
-
- </footer>
- </div>
- </div>
- </section>
- </div>
- <script>
- jQuery(function () {
- SphinxRtdTheme.Navigation.enable(true);
- });
- </script>
- <!-- Theme Analytics -->
- <script async src="https://www.googletagmanager.com/gtag/js?id=G-XNVGCMNDZH"></script>
- <script>
- window.dataLayer = window.dataLayer || [];
- function gtag(){dataLayer.push(arguments);}
- gtag('js', new Date());
- gtag('config', 'G-XNVGCMNDZH', {
- 'anonymize_ip': true,
- });
- </script>
- </body>
- </html>
|