Skip to content

Commit

Permalink
[add] docs progress
Browse files Browse the repository at this point in the history
  • Loading branch information
begla committed Jan 12, 2024
1 parent 03b3762 commit 66dc9f3
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 22 deletions.
57 changes: 36 additions & 21 deletions iolite_docs/engine/components.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@ This section serves as a glossary for all the available core components.

.. note:: The properties of the components are directly documented in the editor and can be accessed by hovering over the property name in the entity inspector.

Animation Node
--------------

Animation nodes are used for tagging entity hierarchies in the context of the :ref:`animation_system`.

Camera
------

Expand All @@ -25,6 +30,25 @@ Custom Data

*Custom Data* components offer the possibility to store custom properties for an entity. Properties can be read, added, modified, and removed via the editor or the scripting API.

Flipbook Animation
------------------

Use this component to animate voxel shapes using flipbook-style animations. Flipbook animations operate by changing the voxel data of the corresponding shape component on a frame by frame basis.

Importing a flipbook animation from MagicaVoxel
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

In this short tutorial, we will load a flipbook animation authored in MagicaVoxel.

1. Create a flipbook animation in MagicaVoxel and add the VOX file to a data source, like, e.g., ``default/media/voxels``. For testing purposes, you can also use one of the animated voxel assets that are shipped with MagicaVoxel, like the dinosaur or the deer
2. Create a voxel shape for your asset by dragging it from the *Prefab Browser* to the viewport
3. Attach a *Flipbook Animation* component to the entity you just created
4. Head to the entity inspector and set the ``First Frame`` and ``Last Frame`` properties to values matching your animation
5. Set the ``Speed`` property to a fitting value. 20 frames per second can be a good starting point
6. Enable the ``Loop`` and ``Play`` flags

If everything works out, your animation should be playing.

Joint
-----

Expand Down Expand Up @@ -75,12 +99,12 @@ Use this component to play sound effects at certain positions in the world.
Script
------

This component can be used to add Lua scripts to the world.
This component can be used to add scripts to the world.

Tag
---

Can be used to add tags to entities. Entities can then be looked up based on the tags via the scripting interface.
Can be used to add tags to entities. Tags are useful for quickly looking up entities in the world via the APIs.

Text
----
Expand All @@ -89,28 +113,19 @@ Use this component to render text at different positions in the world. It's also

.. _component_voxel_shape:

Voxel Shape
-----------

Voxel shapes are in charge of rendering and simulating everything voxel-related. Shapes are either initialized from authored VOX files available in the data sources, or they are procedurally filled with content like, e.g., terrain using a script.
Vehicle
-------

In addition, voxel shapes support the generation of support structures and fracturing for physics-based destruction effects.
Vehicle components are used in the context of the :ref:`vehcile_physics` and form the base part of a vehicle.

Flipbook Animation
------------------
Vehicle Wheel
-------------

Use this component to animate voxel shapes using flipbook-style animations. Flipbook animations operate by changing the voxel data of the corresponding shape component on a frame by frame basis.
Vehicle wheel components are used in the context of the :ref:`vehcile_physics` and define the wheel of a vehcile.

Importing a flipbook animation from MagicaVoxel
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

In this short tutorial, we will load a flipbook animation authored in MagicaVoxel.
Voxel Shape
-----------

1. Create a flipbook animation in MagicaVoxel and add the VOX file to a data source, like, e.g., ``default/media/voxels``. For testing purposes, you can also use one of the animated voxel assets that are shipped with MagicaVoxel, like the dinosaur or the deer
2. Create a voxel shape for your asset by dragging it from the *Prefab Browser* to the viewport
3. Attach a *Flipbook Animation* component to the entity you just created
4. Head to the entity inspector and set the ``First Frame`` and ``Last Frame`` properties to values matching your animation
5. Set the ``Speed`` property to a fitting value. 20 frames per second can be a good starting point
6. Enable the ``Loop`` and ``Play`` flags
Voxel shapes are in charge of rendering and simulating everything voxel-related. Shapes are either initialized from authored VOX files available in the data sources, or they are procedurally filled with content like, e.g., terrain using a script.

If everything works out, your animation should be playing.
In addition, voxel shapes support the generation of support structures and fracturing for physics-based destruction effects.
2 changes: 1 addition & 1 deletion iolite_docs/engine/pro.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Creating voxel assets from meshes (Mesh Voxelizer)

The mesh voxelizer allows you to create voxel assets from complex 3D meshes.

To voxelize a mesh, export a mesh from your favorite 3D authoring software, like *Blender* or *3ds Max*, in the *glTF* format. After exporting, the meshes, head over to IOLITE's editor and open up the ``[Import and Export]`` menu in the toolbar and hover and click on ``[Voxelize Mesh]``.
To voxelize a mesh, export a mesh from your favorite 3D authoring software, like *Blender* or *3ds Max*, in the *glTF* format. Afterwards, head over to IOLITE's editor and select ``[Import and Export] => [Voxelize Mesh]``.

Exporting path-traced renders
-----------------------------
Expand Down
2 changes: 2 additions & 0 deletions iolite_docs/engine/subsystems/physics.rst
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ Shapes can also be split based on the *voxel connectivity system*. This system a

For example, if you want to cut a wall horizontally into two equally large pieces, call the ``disconnect`` voxel shape API function on all voxels in the center row, passing the flag for the top face. Doing this will disconnect all voxels from their top neighbors. The wall will be cut in half after calling ``voxelize`` for the shape.

.. _vehcile_physics:

Vehicle Physics
---------------

Expand Down

0 comments on commit 66dc9f3

Please sign in to comment.