• Content count

  • Joined

  • Last visited

  1. Custom builds are potentially very handy for production releases if during the development the full version can create a profile of all components being used -- not just from any .babylon files but from the actual JS. Maybe a stack trace and a source map could build a profile...but in the end I think letting the human brain decide with a series of checkboxes and a submit button would be most useful. A CDN makes it more likely that someone's browser already has it cached...and also, many of the websites I build have images that are larger than the 250kb gzipped size so I don't even see it as a big deal, but thanks for the option!
  2. Create a gigantic, Earth-sized CSG with lanes cut out of it. If you make it predefined there will be that much less JS running during the render loop. Webgl has vertices limiitations, so you will probably have to only load portion of it at a time. Maybe it could be a sphere with a 16k resolution parallax map on it and scaled x 1000. Just throwing out some experimental ideas.
  3. If BABYLON is undefined it likely means you are requesting it out of sync. If you are diving into Angular then I am sure you are aware that you have to delay execution of your code until it has loaded. Furthermore, with the debug layer, you have to create it after all of your cameras/lights/meshes/etc have been loaded so it can reference them.
  4. I am out of my realm with the Blender talk, but I just want to throw something really simple out there...did you set adaptToDeviceRatio to true in your BABYLON.Engine parameters?
  5. I don't know if there is a parameter you need to pass or something further up the chain you can do, but I think theoretically you could loop through your materials in the BABYLON.SceneLoader.Append/ImportMesh/Load callback and assign them new ids based on the loop's current index or something. Another thing you can do is edit the Babylon JSON directly, but the major disadvantage to that is you have to do that all over again next time you re-export from your FBX. But, if you are confident you have the final versions then it is better to have the data correct in the JSON. Anyway, those are a couple hacky ideas....stay tuned for someone who knows the real answer you are looking for.
  6. I have been using the 2.5 version up on cdnjs, but I will definitely give 3.0 and the new materials a go and see what happens. Thanks!
  7. By "new material system" do you mean the new standard material being created for the instances or do you mean there is a new material in development? My current project uses an art style that is no lighting and emissive colors only and there is a palette of like 10 colors so I was thinking there must be a way to reduce it down from the 300 materials that currently exists after importing several scenes. Many of them need to be duplicate materials to be controlled separately to change only their color, but around 200 materials are duplicates that should be merged somehow and frozen since there is no lighting or shadows. Is there something in the docs I am missing about merging materials or is there another material I should be using instead of Standard Material for the emissive-only style? Thanks for the help!
  8. Oh, yes, please! I love details. From what I gathered so far I understand that instances are all handled in a single draw call rather than an individual draw call for each one if they were their own unique meshes. Is that the same draw call as their source mesh or an additional draw call?
  9. I read in another topic/question here that you should not freeze materials of instances, and from personal experience I see (or should I say, "do not see") the problem...the instances are transparent. Is it better to give the instances their own material to share and freeze it, or to not freeze the material for that mesh and its instances? Also, what is causing the problem of the instances not being visible when the material is frozen? I have no background in 3d, so it could be something obvious, but I am still curious.
  10. Ok, so a quick test now with just that method and a console log has no errors, so there is something in my code that is the problem. Thanks for the help! Case closed.
  11. Yes, the BABYLON.Engine.isSupported method is what I had been using, but the error occurs either before or during that when I disable webgl in Chrome and also in IE10. Now you have me second guessing and I have to take another look.
  12. Thanks for your very quick response! I needed a fix ASAP so I came up with a not-so-elegant solution to test webgl support with Modernizr and then append a couple script elements to the body for hand.js and babylon.js ...and then a setInterval that waits until BABYLON is defined before executing the rest of the code.... I feel like I belong in JS prison for doing that, but... deadlines.
  13. I made a fallback for my Babylon scene in the event the user does not support webgl, and while I was developing the fallback I was just altering the logic to show the fallback slideshow instead of the canvas. When I was done developing it I disabled webgl in my Chrome browser and it looks like Babylon ran into a fatal error. I'm hoping this is just a bug that has something to do with Chrome, but I thought I would share it in case there might be something you guys can do about it. @Deltakosh I am going to continue testing in other browsers that don't natively have it. FYI, I used this plugin to disable it:
  14. That example had something new for me to try, but unfortunately still did not work. My goal was to reduce the downloaded file size and, as it turns out, my designer was able to reduce the size by about 50% by decimating the worms and the tunnels they are set in. So for now, with my deadlines, that is going to have to do. Eventually, I would like to solve this mystery, though, because in theory it seems like it should have been as easy as Mesh.skeleton = Scene.getSkeletonById(skeletonId) but that did not work. Again, thanks for your guys' help!
  15. In that playground (broken on my iPad, by the way) it is showing cloning the same mesh and skeleton, and that method is essentially what I did but in my situation I have three skeletons in the scene that were never used and I am simply trying to attach them again but they don't seem to be adjusting to the new skeleton positions, but when inspecting the mesh object the skeletons that I want are there. Is there something that happens in the cloning of a skeleton that takes place, or is there something that does not happen to a skeleton during loading if there is not mesh attached to it? Thanks for all your help!