• Content Count

  • Joined

  • Last visited

Everything posted by inteja

  1. inteja

    New forum

    I don't have a strong opinion either way ... but I do like shiny new things 😉 A well-engineered, modern forum for a well-engineered, modern WebGL framework sounds like a match made in heaven.
  2. Take a look at and corresponding tutorial.
  3. Agree it's a great scene. With care it should be possible to achieve this result with most 3D packages. You'd need to bake light maps, apply environment/reflection maps to glass & floor and apply post process glow (in Babylon) to bright light sources. These are older techniques but still look and perform great. With the newer PBR materials you'd be able to get even greater photorealism and more dynamic lighting and effects for architectural scenes, at the cost of some performance.
  4. @Beny welcome to the community! 1) Blender is popular, free, open-source and cross-platform software for creating 3D models and animations that can be imported into Babylon.js. It takes some learning and there's no getting around that but there are lots of great resources online to learn. For 2D "pixel art" sprites you can use Photoshop or The GIMP or Krita but Babylon.js is more of a 3D engine than a 2D engine although it does have support for 2D sprites. 2) Any device or web browser that supports javascript and WebGL ... see Can I Use WebGL but performance will vary depending on the complexity of your game and the hardware that it's running on. 3) Babylon.js is a 3D engine and doesn't explicitly handle things like multiplayer or game logic - you need to handle that stuff yourself and there's many options depending on your game's genre and desired gameplay etc. See Colyseus for one multiplayer option that works nicely with Bablylon.js 4) Unity and Babylon.js are both good but are satisfying different niches IMO - Babylon.js excels at web-based 3D games and applications and because it's written in typescript/javascript it means you can seamlessly integrate with the plethora of other web-based frameworks and technologies that are out there e.g. Node.js, React, Angular, jQuery, HTML, CSS etc. If you're wanting to create standalone executables for PC, Mac and consoles then Unity might be a better choice although you can package up web applications like Babylon.js games for console also if you need to. For example, I'm working on a SaaS application that integrates Drupal CMS (PHP, MySQL), Babylon.js and Colyseus.js/Node.js - this would be much harder to do in Unity. In fact I wouldn't even attempt this in Unity. If you're new to this, regardless of the engine you choose, it's best to start off really small (think tic tac toe rather than MMO) and use placeholder or free assets while you're learning.
  5. Until recently I resisted trying out Blender 2.8 as I knew it was changing rapidly but I just tried it and must admit I'm pretty damned impressed. The UX facelift I think will really alleviate that last perceived learning curve barrier that Blender has been criticised for in the past. I don't think long-time users will be hindered all that much by the changes. The devs have struck a great balance IMHO. I'm now eagerly looking forward to using Blender 2.8 and the Babylon exporter 🙂
  6. Looks interesting but I wasn't able to click any buttons or dismiss the start screen etc. Tried both Chrome and Firebox.
  7. Great work on the release! Thanks to all involved.
  8. MacBook Pro 13" 2017 MacOS High Sierra 10.13.6, Intel Core i5 @ 2.3GHz, 8 GB Chrome 69.0.3497.100 2K / 60 FPS / 60 FPS 10K / 50 FPS / 60 FPS 20K / 27 FPS / 47 FPS 40K / 14 FPS / 24 FPS Firefox 62.0.2 2K / 60 FPS / 60 FPS 10K / 44 FPS / 40 FPS 20K / 34 FPS / 30 FPS 40K / 20 FPS / 18 FPS Note: Average stable frame rates but there were periodic dramatic (>10fps) dips in frame rate (both legacy and refactored) Safari 12.0 2K / 60 FPS / 60 FPS 10K / 50 FPS / 60 FPS 20K / 30 FPS / 30 FPS 40K / 20 FPS / 20 FPS
  9. @Nodragem yes it's only a basic boilerplate to get node.js, babylon, colyseus and related dependencies setup for multi-player. A decent starting point for any multi-player 3D game. The rest is up to you. On the Colyseus site and Github repositories there's various examples showing how to use Colyseus for multiplayer games and chat, but none of these use Babylon at present. I'm sure @endel would welcome pull requests to the BabylonJS + Colyseus Multiplayer Boilerplate if anyone wanted to flesh it out more to say a simple game of tic tac toe or checkers or something.
  10. Switched from default preview to cdn (stable) inspector: BABYLON.DebugLayer.InspectorURL = ''; That worked. Thanks @Deltakosh
  11. Arghhh .... I should have just RTFM ... I see now in docs that preview version of inspector is loaded by default from Sorry I should have seen this before. Will try that.
  12. Hi @Deltakosh . I'm a bit confused. How could the inspector version be misaligned?
  13. The issues I'm experiencing locally don't seem to be evident in the playground with either stable 3.2.0 or 3.3.0 alpha 12 Could be something to do with my local environment or codebase ... but strange though. Not critical as I can easily do without this inspector functionality but I just thought it worth reporting.
  14. @Deltakosh I'm using latest stable babylonjs 3.2.0 npm package
  15. Locally I am getting the following error when trying to change any individual material's properties (e.g. switch a material to wireframe etc) in the inspector. Another example is say changing the alpha fraction - I can input the new value but pressing enter results in the same error and nothing happens and the alpha text input box doesn't disappear. babylon.inspector.bundle.js:2 Uncaught TypeError: Cannot read property 'notifyObservers' of undefined at n.set [as value] (babylon.inspector.bundle.js:2) at n.validateInput (babylon.inspector.bundle.js:2) at n._validateInput (babylon.inspector.bundle.js:2) This functionality seems to work fine in the playground and changing global scene properties (e.g. wireframe rendering) in my local environment also works fine.
  16. Thanks @Deltakosh Good information to know.
  17. If I understand correctly, take a look at Camera.minZ Here's another thread/post I found that describes how it works
  18. Thanks @dbawel Yes my experimentation and questions above were prompted by that post - it inspired me to try out a few different approaches including what you've suggested. My current project has a pretty deep structure and it's not that convenient to apply all assets in the one loader.onFinish() call at the same time. My application is more dynamic than that, which is why I was curious about whether my approach of passing an array of assets around makes any sense given it seems like I could just do new BABYLON.Texture(path, scene) at any point in time after all assets have been loaded and in theory it shouldn't impact memory usage or performance ... maybe.
  19. Another related question 🙂 If I load a .babylon of .gltf model using the AssetsManager, does the AssetsManager consider the asset fully loaded when that file is loaded or when that file and all textures etc referenced by that file are loaded?
  20. On the particles 101 doc page there's an embedded PG which uses a nice steam/smoke sprite sheet texture from PatrickRyanMS's github repo. I was just wanting to know if it's OK to use this texture. I couldn't find any contact details on Patrick's github profile to ask him and not sure if he's active in this forum. Looks like he works for MS so maybe someone here knows him @Deltakosh @davrous?
  21. I read in another thread that BabylonJS intelligently handles multiple uses of the one texture for optimal performance i.e. internally if the texture path is the same then no extra vram is used for subsequent new textures with the same path. I suspect I've been overcomplicating things up until now but here's some related questions. Question 1 If I load my textures with AssetsManager like so: var textureTask = assetsManager.addTextureTask("my-texture", "./path/to/my-texture.jpg"); Are the following methods of applying the textures equivalent behind the scenes (i.e. neither uses more VRAM)? // Method 1 textureTask.onSuccess = function(task) { material.diffuseTexture = task.texture; } // Method 2 - elsewhere in application after assetsManager.onFinish() has been called. material.diffuseTexture = new BABYLON.Texture("./path/to/my-texture.jpg", scene); Question 2 What I've been doing up until now is assigning loaded assets to an assets array which I then pass around to various objects to use what they need like so: textureTask.onSuccess = function(task) { assets[] = task.texture; } // Stuff ... var myCustomObject = new CustomObject(assets); // In CustomObject ... material.diffuseTexture = assets["my-texture"].clone(); The reason for the .clone() is when I need different uv scale and offset per instance. If my method 1 and 2 are functionally equivalent and don't result in any additional vram usage or performance hit then I'm wasting my time passing around an array of loaded assets when I could simply instantiate a new texture with the same path that I know has already been loaded by AssetsManager. Can anyone shed some light on this? How do other people manage this efficiently?
  22. Looks awesome! Does this work with children & groups e.g. TransformNode, or just Mesh?