====== Babylon.js 3D web solution ======
* Maya to Babylon format:
- Download and Install Exporter: https://doc.babylonjs.com/resources/maya
- for maya: put dlls into ~\Documents\maya\MAYA_VERSION\plug-ins
- put templates folder into ~\Documents\maya\MAYA_VERSION\scripts
- edit maya.env in ~\Documents\maya\MAYA_VERSION\Maya.env to include that 2 templates folder path in MAYA_CUSTOM_TEMPLATE_PATH =
- Launch Maya > Windows > Settings > Plug-in managers, check load of "Maya2Babylon.nll.dll"
- top menu bar > Babylon menu > Babylon File Exporter, then the non standard export window show up to export the file
* Blender to Babylon format
* Blender is best, better than Maya,Max,Substance Painter, as it is free and well supported and more than all you need to do all 3d related.
* download Blender 2.8 to Babylon exporter: https://github.com/BabylonJS/BlenderExporter
* install guide for blender: https://doc.babylonjs.com/resources/blender#installation
*
====== Basic ======
====== Extra code control ======
**Disable mouse scroll zoom**
* javascript code after camera creation camera.lowerRadiusLimit = camera.upperRadiusLimit = camera.radius = 4.0;
**Limite mouse scroll zoom**
* javascript
camera.lowerRadiusLimit = 1;
camera.upperRadiusLimit = 50;
**Disable right mouse button drag pan**
* you can set a camera target
camera.setTarget(box, true, true);
* you can also use make pan not working
camera.panningSensibility = 0;
**invert camera drag rotation direction**
* javascript camera.angularSensibility = -5000;
**Force all material backface culling off**
* add that function for import mesh process
BABYLON.SceneLoader.ImportMesh("", "https://example.com/video/3d/", "my3d.babylon", scene, function (newMeshes) { for(let i = 0; i < newMeshes.length; i++){ newMeshes[i].material.backFaceCulling = false;} });
====== Problem and Solution ======
* Foundation tutorial: https://www.youtube.com/watch?v=X_a_PyV_wt4&list=PLS9MbmO_ssyCT1KHSi1GYX73ayv_9GusY&index=1
* Babylon.js official QnA: https://doc.babylonjs.com/resources/
* Official github: https://github.com/BabylonJS/Babylon.js
* Embed Babylon as html block: https://www.youtube.com/watch?v=5FAmoUmLlYg
* Problem: Blender Babylon export error after import FBX into blender:
* Solution:
* go shading view, select each geometry to check its material network, delete those empty normal map node
* Problem: my model in babylon view looks like backface culling, not display some face
* Solution:
* go 3d software, check if all the face normal facing outside. check normal direction of those poly face. with face display and show normal to check.
* Problem: **chrome, safari shows focus indicator (aka a border line) when mouse select it**
* Solution: css
canvas {
outline: none;
-webkit-tap-highlight-color: rgba(255, 255, 255, 0); /* mobile webkit */
}
====== Extra Resource ======
* hdr to dds (common image based lighting image format to babylon supported format)
* https://convertio.co/hdr-dds/
* babylon wp plugin (simpler way than hardcore js code way):
* https://github.com/eldinor/babylon-wordpress-plugin/blob/master/babylon-shortcode.php
* demo site: https://igiuk.com/babylon-3d-wordpress/3d-examples/another-3d-example/
* GLTF to GLB packer (a common web 3d file type than babylon specific 3d file type): https://glb-packer.glitch.me/
====== Other Tech Soluton ======
* sketchfab (flickr like 3d view share platform):
* https://help.sketchfab.com/hc/en-us/articles/202508396-Supported-3D-File-Formats