GameMonetize Posted February 15, 2014 Share Posted February 15, 2014 Hello beloved community, please use this topic to propose new features for Babylon.js. Please use our Uservoice to propose new ideas: http://babylonjs.uservoice.com I cannot guarantee we will realize everything but I promise we will take your wishes in account Link to comment Share on other sites More sharing options...
AndyBeaulieu Posted February 15, 2014 Share Posted February 15, 2014 A couple of ideas... continued improvements in performance, especially with physics (granted this is mostly on shoulders of cannon.js) Windows Phone 8.1 support, when available (rumors have it that WP8.1 will include WinJS type apps, as well as IE11/WebGL) a "virtual joystick" for touch-based games, perhaps made skinnable (could maybe reach out to other oss projects for this Thanks!! Link to comment Share on other sites More sharing options...
davrous Posted February 15, 2014 Share Posted February 15, 2014 I'll work on the virtual joystick asap. I've already implemented it in a previous superset framework we had in mind: http://blogs.msdn.com/b/davrous/archive/2013/07/23/introducing-babylon-gamefx-a-framework-to-build-html5-webgl-games-in-a-few-lines-of-code.aspx (finally, discontinued...). I just need to refactor it and think about the best way to architecture it for babylon.js. If you have ideas on the best way to use it as a "babylon.js" user, I'm opened to suggestions. Bye! David JCPalmer and GameMonetize 2 Link to comment Share on other sites More sharing options...
Dad72 Posted February 15, 2014 Share Posted February 15, 2014 My Some ideas :Camera anaglyphe PostProcess (Added)Shader Cell-Shading (Added)Effect underwaterSky Dome/hemisphericVolumetric Cloud (Added)GUI gameLOD systeme (Added)Multi-pick() in radiusPickedSpritesTags on the mesh (Added)For worldmonger :Paint texture following a radiusPaint the grass and tree following a radiusGizmo radius paint in the place of the particlesHole systeme: Allows you to create holes in the ground for the tunnels.Thanks! Link to comment Share on other sites More sharing options...
AlbertoBonn Posted February 17, 2014 Share Posted February 17, 2014 Boolean mesh operationsWind, smoke and water (demo2)SoftbodiesCloth simDynamic paintingSculpingand mirroring the video texture i think this would be nice, thanx a lot for this realy amazing library light&luvAlbertohttp://www.youtube.com/watch?v=LTOC_ajkRkU Link to comment Share on other sites More sharing options...
GameMonetize Posted February 17, 2014 Author Share Posted February 17, 2014 What do you mean by mirroring the video texture? Link to comment Share on other sites More sharing options...
GameMonetize Posted February 17, 2014 Author Share Posted February 17, 2014 Sculpting is already done in the worldmonger demo Link to comment Share on other sites More sharing options...
Dad72 Posted February 17, 2014 Share Posted February 17, 2014 Sculpting worldmonger demo is not complete. It lack the brush smooth, radius brush visible, paint the color, paint the textures. Link to comment Share on other sites More sharing options...
GameMonetize Posted February 18, 2014 Author Share Posted February 18, 2014 ok Link to comment Share on other sites More sharing options...
gwenael Posted February 18, 2014 Share Posted February 18, 2014 - Transform nodes . I guess this one is for me...- Parents' matrix computed- Groups (all meshes of a group would be "merged" when the group is closed and "unmerged" when the group is open: a closed group would be seen as a single mesh in the scenegraph)- Mesh visibility per camera Thanks again for your time Link to comment Share on other sites More sharing options...
AlbertoBonn Posted February 24, 2014 Share Posted February 24, 2014 What do you mean by mirroring the video texture?@deltakoshhere in tutorial 14 on git u can check it! no video texture reflection. I think a glsl shader will do the job! Link to comment Share on other sites More sharing options...
GameMonetize Posted February 25, 2014 Author Share Posted February 25, 2014 This is already working The tutorial 14 does not add the plane into the mirror render list. That's all gwenael 1 Link to comment Share on other sites More sharing options...
reddozen Posted February 25, 2014 Share Posted February 25, 2014 LOD support, and collisions / octree updates done through webworkers. Link to comment Share on other sites More sharing options...
Xanmia Posted March 2, 2014 Share Posted March 2, 2014 Possibly a bit more simple of a text object? The DynamicTexture seems logical for text, it just seems a little convoluted. Unless I am missing a much easier way... Link to comment Share on other sites More sharing options...
reddozen Posted March 3, 2014 Share Posted March 3, 2014 3rd person chase camera make objects between the target and the camera invisiable or have a kind of transparency % setting. Not sure how easily doable this is, but I could imagine it being useful in a cluttered environment in 3rd person. Link to comment Share on other sites More sharing options...
AndyBeaulieu Posted March 4, 2014 Share Posted March 4, 2014 I think this is an easy one It would be handy to have another version of ImportMesh in BABYLON.SceneLoader, which accepts just a JSON string for data instead of trying to load from a file. The reason for this would be for creating jsfiddle and other debugging that prohibits loading external .babylon files, or in cases where the .babylon filetype cannot be added for MIME types. Link to comment Share on other sites More sharing options...
hw3web Posted March 5, 2014 Share Posted March 5, 2014 1) Boolean mesh operations2) base on that back to my repeated needed option - selector plane for specific meshes - like in sketch up 3) Paint aquarell effect Link to comment Share on other sites More sharing options...
GameMonetize Posted March 5, 2014 Author Share Posted March 5, 2014 Option 2 can be easily done with postprocesses Link to comment Share on other sites More sharing options...
pablo Posted March 6, 2014 Share Posted March 6, 2014 glTF support.An official binary format that supports all the Collada features but built for the web.https://github.com/KhronosGroup/glTF Link to comment Share on other sites More sharing options...
GameMonetize Posted March 6, 2014 Author Share Posted March 6, 2014 Agree with gITF Link to comment Share on other sites More sharing options...
gryff Posted March 16, 2014 Share Posted March 16, 2014 One of the features of Blender is an option to create shape keys that can be animated using the Shape Key Editor (found in the DopeSheet). Here is video of a simple lipsyncing example I created - made with Blender and used in the Unity game engine using a special script (the latest version of Unity no longer needs the script as shape keys are imported directly). The video is here: Lipsyncing with Blender Shape Keys Now lipsyncing of this type can be done with bones - and not too long ago I watched a video about "Call of Duty" that claimed that the face rigs of the 2 main characters had 90+ bones in the face alone. Shape keys allow an easy way to create lipsyncing without the task of rigging the face, and getting the weighting right, and does not have limitations on the number of vertices per bone. So is it possible, or could it be possible, to allow the use of Shape Keys in babylon.js, and to save out animations created in Blender? I have no idea on how difficult it would be to add such functionality to babylon.js - or if it would have a serious impact on the size of babylon files or FPS. cheers, gryff Paradine, JCPalmer and GameMonetize 3 Link to comment Share on other sites More sharing options...
gwenael Posted March 16, 2014 Share Posted March 16, 2014 (edited) Primitives in babylonJS files. Thus, instead of providing positions and normals arrays, we could only provide the type and the parameters (an extra parameter could be used for subdivisions). Mesh.CreateBox or Mesh.CreateCylinder... would use these parameters to create the mesh. Edit: Added. https://github.com/BabylonJS/Babylon.js/pull/192 Edited May 15, 2014 by gwenael Link to comment Share on other sites More sharing options...
GameMonetize Posted March 17, 2014 Author Share Posted March 17, 2014 @Gwenael: Could you elaborate on it ? Link to comment Share on other sites More sharing options...
gwenael Posted March 18, 2014 Share Posted March 18, 2014 (edited) It depends on my mood Here's the JSON for a mesh in case you don't know it...{"name": string,"id": string,"parentId": string,"materialId": string,"position": vector3,"rotation": vector3 (can be omitted),"rotationQuaternion": vector4 (can be omitted),"scaling": vector3,"infiniteDistance": boolean,"isVisible": boolean,"isEnabled": boolean,"checkCollisions": boolean,"billboardMode": int (0 = None, 1 = X, 2 = Y, 4 = Z, 7 = All),"receiveShadows": boolean,"physicsImpostor": int (0 = None, 1 = Box, 2 = Sphere),"physicsMass": float,"physicsFriction": float,"physicsRestitution": float,"positions": array of floats (3 per vertex),"normals": array of floats (3 per vertex),"uvs": array of floats (2 per vertex),"uvs2": array of floats (2 per vertex) which is the 2nd texture coordinates (can be omitted),"colors": array of floats (3 per vertex) which is the per vertex color (can be omitted),"matricesIndices": array of ints (4 per vertex) which is the matrices indices for bones (can be omitted),"matricesWeights": array of floats (4 per vertex) which is the matrices weights for bones (can be omitted),"indices": array of ints (3 per face),"subMeshes": array of SubMeshes (see below),"animations": array of Animations (see below, can be omitted),"autoAnimate": boolean,"autoAnimateFrom": int,"autoAnimateTo": int,"autoAnimateLoop": boolean}and here's the part I suggest we could "specify" differently for some specific meshes: instance of primitives."positions": array of floats (3 per vertex),"normals": array of floats (3 per vertex),"indices": array of ints (3 per face),"subMeshes": array of SubMeshes (see below),Let's say my mesh (instance of primitive) is a box that I exported from Blender, then I have vertices for it which have positions and normals. When importing it, BabylonJS doesn't know it's a box, it sees it like any other mesh. Instead of exporting my box, I could also create it thanks to BabylonJS by calling the helper function BABYLON.Mesh.CreateBox. What I would like to have it's new properties in the JSON to tell the parser that my mesh must be imported/created by calling BABYLON.Mesh.CreateBox. We only have to specify the size, no need of positions, normals, indices and subMeshes in the JSON file for the specific mesh:"size": 5Of course, I could create my meshes (instance of primitives such as boxes, cylinders...) in a javascript file but everything could be stored in the JSON file and no need for an extra file that must be shared between projects. If I want a cylinder, it won't be size (like for a box) but:height, diameterTop, diameterBottom, tessellationI guess we could have array of boxes, cylinders, spheres... like we have array of meshes, cameras and lights (one array per type) but I don't know how parenting would be handled since a mesh could be parent of a box or a box could be parent of a mesh so when the box would be imported (if boxes are imported before meshes) its parent wouldn't exist yet in the scene but I guess this possible issue is already solved since that's the same case for cameras and meshes. The global structure of a .babylon file would be:{"autoClear": boolean,"clearColor": color3,"ambientColor": color3,"gravity": vector3 (usually [0,-9,0]),"cameras": array of Cameras (see below),"activeCamera_": string,"lights": array of Lights (see below),"materials": array of Materials (see below),"meshes": array of Meshes (see below),"boxes": array of Boxes (see below),"cylinders": ...,"spheres": ...,...."<lastTypeOfPrimitiveThatBabylonJSHandles>": ..."multiMaterials": array of MultiMaterials (see below),"shadowGenerators": array of ShadowGenerators (see below),"skeletons": array of Skeletons (see below),"particleSystems": array of ParticleSystems (see below),"lensFlareSystems": array of LensFlareSystems (see below)}A box would be defined by the following JSON: (Notice "size" instead of "positions", "normals"...){"name": string,"id": string,"parentId": string,"materialId": string,"position": vector3,"rotation": vector3 (can be omitted),"rotationQuaternion": vector4 (can be omitted),"scaling": vector3,"infiniteDistance": boolean,"isVisible": boolean,"isEnabled": boolean,"checkCollisions": boolean,"billboardMode": int (0 = None, 1 = X, 2 = Y, 4 = Z, 7 = All),"receiveShadows": boolean,"physicsImpostor": int (0 = None, 1 = Box, 2 = Sphere),"physicsMass": float,"physicsFriction": float,"physicsRestitution": float,"size": float,"colors": array of floats (3 per vertex) which is the per vertex color (can be omitted),"matricesIndices": array of ints (4 per vertex) which is the matrices indices for bones (can be omitted),"matricesWeights": array of floats (4 per vertex) which is the matrices weights for bones (can be omitted),"animations": array of Animations (see below, can be omitted),"autoAnimate": boolean,"autoAnimateFrom": int,"autoAnimateTo": int,"autoAnimateLoop": boolean}Does it make sense? Edit: I updated the wiki according to the changes I've made for the geometry system. https://github.com/BabylonJS/Babylon.js/wiki/Babylon.js-file-format Edited May 15, 2014 by gwenael Link to comment Share on other sites More sharing options...
gwenael Posted March 18, 2014 Share Posted March 18, 2014 Moreover, it would improve performance since the first box would be created by calling the helper function and other boxes would be cloned Link to comment Share on other sites More sharing options...
Recommended Posts