Other Types =========== .. contents:: Table of Contents :depth: 2 :local: ``group`` ~~~~~~~~~ Groups are the simplest scene graph location type, with no special meaning. They are typically used to organize the scene and to apply transformations affecting all descendant locations. ``assembly`` and ``component`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Components are designed to be the building blocks that assets can be made out of. Assemblies are designed to be structured assets that can be built out of components or other assemblies. As a convention for complex hierarchies, a component is a building block that can contain a hierarchy of geometry and non-geometry locations, but it shouldn't contain any assemblies or other components. This convention is used by some tools in Katana to reduce the amount of Scenegraph that needs to be inspected to do certain things, such as search for LookFiles that are being used, with the assumption that no LookFile is assigned deeper than any 'component' location. .. _camera-attrs: ``camera`` ~~~~~~~~~~ Location type to declare a camera. .. list-table:: :header-rows: 1 :widths: 20 80 - * Attribute * Description - * :kat:attr:`string geometry.projection` * The projection mode, such as perspective or orthographic. - * :kat:attr:`double geometry.fov` * The field of view angle in degrees - * :kat:attr:`double geometry.near` * Distance of the near clipping plane - * :kat:attr:`double geometry.far` * Distance of the far clipping plane - * :kat:attr:`double geometry.left` :kat:attr:`double geometry.right` :kat:attr:`double geometry.bottom` :kat:attr:`double geometry.top` * The screen window placement on the imaging plane. The bound of the screen window. - * :kat:attr:`double geometry.centerOfInterest` * This is used for tumbling in the viewer; it has no affect on the camera matrix. - * :kat:attr:`double geometry.orthographicWidth` * The orthographic projection width. .. _light-attrs: ``light`` ~~~~~~~~~ Location type to declare a light. .. list-table:: :header-rows: 1 :widths: 20 80 - * Attribute * Description - * :kat:attr:`group geometry` * Shares the same attributes as cameras. - * :kat:attr:`float geometry.radius` * The radius of the light. - * :kat:attr:`float[3] geometry.previewColor` * The color of the light in the Viewer. ``material`` ~~~~~~~~~~~~ See :doc:`Materials`. ``instance``, ``instance source`` and ``instance array`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ See :doc:`Instancing`. ``level-of-detail group`` and ``level-of-detail`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A ``level-of-detail group`` location should contain child locations of type ``level-of-detail``. Each child corresponds to an LoD, and should have the following attributes: .. list-table:: :header-rows: 1 :widths: 20 80 - * Attribute * Description - * :kat:attr:`float lodRanges.minVisible` :kat:attr:`float lodRanges.maxVisible` :kat:attr:`float lodRanges.lowerTransition` :kat:attr:`float lodRanges.upperTransition` * Geometry with a specific level of detail. .. _procedural-attrs: ``renderer procedural`` and ``renderer procedural args`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. note:: This section is under construction. .. list-table:: :header-rows: 1 :widths: 20 80 - * Attribute * Description - * :kat:attr:`string rendererProcedural.procedural` * - * :kat:attr:`group rendererProcedural.args` * - * :kat:attr:`string rendererProcedural.args.__outputstyle` * - * :kat:attr:`int rendererProcedural.useInfiniteBounds` * - * :kat:attr:`string rendererProcedural.includeCameraInfo` * - * :kat:attr:`string rendererProcedural.cameraInfo.whichCamera` * - * :kat:attr:`string rendererProcedural.cameraInfo.cameraPath` * - * :kat:attr:`group geometry.arbitrary` * See :doc:`ArbitraryAttributes`. ``error`` ~~~~~~~~~ Renders halt if this type is encountered (fatal error). An error message is written to the render log and displayed in the console.