Dude, I have started and stopped and re-started that DARN documentation several times over and I STILL can't get to look or work right.
1... I don't know the syntax so the formatting is all screwed up
2... I don't know how to reference internal pages I tried [Sample Page](exporters/mysamplepage) but does not work
3... I don't know how to make image show up in page so I can show my snapshots
I just really suck at that part.
Here is an example of my first intro page I'm working on:
## BabylonJS Toolkit
The BabylonJS Toolkit is designed to provide a small subset of the Unity Editor design time features to export native BabylonJS scene files. You can create your games
using a design time component based architecture. Please refer to [Unity Editor Documention](https://docs.unity3d.com/Manual/index.html) for details on creating scenes and adding components. The toolkit exports game objects that have a camera, light or mesh component attached. The toolkit also provides built in script components to support native BabylonJS engine features at desgin time. Additional Unity components supported are collider, navigation and animation components only.
Perspective and orthographic cameras are supported. The 'Allow HDR' camera options can be set to enable the native high dynamic range post processing
rendering pipeline in your exported scene file. The defautl camera mode will be set to Universal Camera. The Camera Rig component supports detailed camera control
allowing easy camera type selection and specfic runtime camera mode options.
The toolkit exports non baked directional, point and spot lights. Realtime lights are standard lights that illuminate the scene at runtime. Baked lights
are used for lightmap shadow baking at design time. Mixed lights are used to illuminate the scene as well as provided baked lightmap shadows. All realtime
and mixed lights will be included in the exported scene. All full baked lights will not be included in the exported scene file. This will allow for detailed
lightmap baking using as many baking lights as required to achieve the best shadow effects as possible without using any of the baking light resources at runtime.
Please refer to [Unity Editor Documention](https://docs.unity3d.com/Manual/index.html) for details on baking lightmaps and lightmap parameters.
Skyboxes for the scene are primarily controlled via the Unity Lighting Panel. The scene controller's Skybox Options allow for more detailed settings at runtime.
## Getting Started
[Project Setup](exporters/00_ProjectSetup): The toolkit requires a project folder for asset file export. A scene controller is also required to support default scene export properties. Default or custom scene controller script components are supported.
## Toolkit Features
### 01 Scene Manager
[Scene Manager](exporters/01_SceneManager): The scene manager application programming interface exposes a Unity like scene component life-cycle. This allows script components to be attached to game objects like meshes, cameras and lights. Each component type has a start, update and destroy function that will get called by the scene manager during it's life cycle.
### 02 Scene Contollers
[Scene Controllers](exporters/02_SceneController): Scene controllers are required to export many of the toolkit scene features. Default scene controller script components can be used for general purposes.
Creating a custom scene controller allows you to use editor property controls that can be accessed at runtime in client code. Custom scene controllers
also exposes an execute when ready function that will be called as main entry point for that scene. Global startup scripts are also supported that execute
on every scene load.
The editor scripts are C# design-time components used to input game properties for the scene controller. They are not intended to exeute at runtime. They are
function that gets called when the scene is ready for execution. Then a 'start' function gets called once during the first frame of the engine game loop, an 'update' function that gets called every frame and a 'destroy' function that get called on component clean up.
### 03 Script Components
[Script Components](exporters/03_ScriptComponents): Script components are the primary way of attaching client code to game objects.
The editor scripts are C# design-time components used to input game properties. They are not intended to exeute at runtime. They are simply to allow the use
gets called once during the first frame of the engine game loop, an 'update' function that gets called every frame and a 'destroy' function that get called on
component clean up.
### 04 Shader Materials
[Shader Materials](exporters/04_ShaderMaterials): The toollkit supports Unity standard and legacy shaders. Custom Unity shaders are supportted if they follow the Unity shader property naming standard. The universial shader
material component encapsulates both Unity design time shader and BabylonJS runtime shader information. Please refer to *** Unity Editor Documentation Link *** for details on
materials and shaders.
### 05 Animation State
[Animation State](exporters/05_AnimationState): The toolkit supports simple animation states. Transform animations are used to animate the position, rotation and scale of any light, camera or mesh.
Skeleton animation are used to animate the bones of a skeletal mesh. Legacy Animation controls are used to enable standard bone key frame animations.
Standard Animator controls are used to enable the built-in Unity Mechanim animation rigging.
### 06 Collision System
[Collision System](exporters/06_CollisionSystem): The toolkit collision system supports simple collision meshes for each component type (box, sphere, capsule, wheel, mesh and terrain). This allows simple geometry to be be used for physics collisions and mesh intersections instead of the original detailed geometry.
### 07 Terrain Builder
[Terrain Builder(exporters/07_TerrainBuilder): Terrain Builder option exports dynamic terrain geometry information to used at runtime. Up to 12 textures and normal maps may be used to paint terrains. Texture atlas maps are created to optimize multiple terrain spat textures. Terrain mesh colliders are supported to optimize runtime collision checking. Colliders can be segmented up to 16 x 16 low poly collision meshes that cover the orginal high poly terrain surface.
The terrain builder supports custom BabylonJS Toolkit Terrain Splatmap Shaders to allow design time editor access to the terrain render material. If no custom terrain
splatmap material is selected, default options will be used. Please refer to *** Unity Editor Documentation Link *** for details on custom terrain materials.
### 08 Runtime Prefabs
[Runtime Prefabs(exporters/08_RuntimePrefabs): Runtime prefabs are used to allow client side prefab instantiation. Game objects that are assigned to the Babylon Prefab layer are marked for client side prefab usage and will not be enabled in the scene. The scene manager function 'instantiate prefab' is used to create fully scipted components at runtime. The scene manager uses deep cloning to support skeletal mesh animations and all script components attached to the game object.
### 09 Static Batching
[Static Batching](exporters/09_StaticBatching): Static batching allow design time mesh combining. Game objects that are assigned to the Babylon Static layer are marker for mesh optimization at scene export. Meshes will automatically be grouped by material and combined and serialized as a single mesh per material. Texture atlas materials are supported to increase multiple texture rendering optimizations.
### 10 Navigation Mesh
[Navigation Mesh](exporters/10_NavigationMesh): Navigation mesh blah blah blah
See unity documentation [Unity Navigation Mesh](https://docs.unity3d.com/460/Documentation/Manual/Navmeshes.html)
### 11 Babylon Art Tools
[Babylon Art Tools](exporters/11_BabylonArtTools): The toolkit supplies a number of art tools to aid in creating optimized BabylonJS game assets.
### 12 Exporter Windows
[Exporter Windows](exporters/12_ExporterWindows): The expoerter window is the primary toolkit interface. It must be open to enable the toolkit features during project development.
The plugin folder can be found here: https://github.com/BabylonJS/Babylon.js/tree/master/Exporters/Unity%205/Deprecated
** Please note that we are working on a [new version](https://github.com/BabylonJS/Babylon.js/tree/master/Exporters/Unity%205/EditorToolkit) but there is not documentation yet**
You just need to copy/paste the plugin folder inside the **assets** folder of your project folder. Unity 5 will then detect the plugin, compile it and add a "BabylonJS" menu.
Using this menu you will be able to export the current scene to a .babylon file format.
Just click on the "BabylonJS/Export to .babylon" menu to display the exportation window.
The exportation window allows you to specify:
* Default reflection level applied to reflection textures
* Collisions properties (on/off, ellipsoid used for the camera and scene's gravity)
You can launch the exportation process by clicking on the "Export" button
The standard object export feature list include the following:
* Clip start
* Clip end
* Check collisions
* Animations (position)
* Type (Point, directional, Spot)
* Spot angle
* Diffuse color
* Animations (position)
* Shadow maps
* Light maps
* Diffuse color
* Specular color
* Specular power
* Emissive color
* Backface culling
* Diffuse texture
* Reflection texture
* Emissive texture
* Bump texture
* **Physically based rendering** materials
* Child materials
* Associated file
* Use alpha
* uOffset / voffset
* uScale / uScale
* Geometry (Positions & normals)
* Texture coordinates (2 channels)
* Check collisions
* Receive and cast shadows
* Animations (position, rotation, scaling)
But it looks like this once I grunt build or grunt serve...