Search the Community

Showing results for tags 'voxel'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • HTML5 Game Coding
    • News
    • Game Showcase
    • Coding and Game Design
  • Frameworks
    • Phaser
    • Pixi.js
    • Babylon.js
    • Panda.js
    • melonJS
    • Haxe JS
    • Kiwi.js
  • General
    • General Talk
  • Business
    • Collaborations (un-paid)
    • Jobs (Hiring and Freelance)
    • Services Offered

Found 6 results

  1. Hello! As my profile states I am new here and rather new with Babylon.js as well. I found its ease of use and performance (over Three.js) good reasons to work on it. Currently, I have been working on a voxel game (i.e. minecraft-ish) and I have been using Three.js, as there are so many libraries already out there for voxels. On the other hand, pretty much nothing for Babylon. For this reason, I would like to fill the void and, perhaps, find someone who is interested in helping out on the quest. I started with creating a small library for creating snow (called `voxel-snow`) and called it `babylon-voxel-snow` ( The idea is to make the transition from Three.js to Babylon.js as easy and as painless as possible for people (like me) who have been using it for their voxel projects. Adding the prefix `babylon-`, would make it extremely easy to find the counter part for Babylon. Here are some other voxel libraries which are currently only in Three.js: ☑ Voxel Snow ( --> Babylon Voxel Snow ( ☐ Minecraft skin ( ☑ Voxel walk ( --> Babylon Voxel Player ( ☐ Voxel creature ( ☑ Voxel critter ( -> Babylon Voxel Critter ( ☐ Voxel builder ( -> Unneeded as it can be imported with the Babylon Voxel Critter ☐ Voxel use ( ☐ Voxel mine ( ☐ Voxel carry ( ☐ Voxel chest ( ☐ Voxel inventory creative ( ☐ Voxel items ( ☑ Voxel clouds ( --> Babylon Voxel Clouds ( ☑ Voxel skybox --> Babylon Voxel Skybox ( As I go, I will try to slowly implement them for Babylon, so hit me up if anyone would like to help out
  2. Hello! I am working on importing an animation from There the animations are simply a set of frames which are switched in order. So, if I want to create an animation with 3 meshes I should do: 1. Show 1st mesh for 1/3 of a second 2. Show 2nd mesh for 1/3 of a second 3. Show 3rd mesh for 1/3 of a second 4. Show 1st mesh again. Logically that is fine but how can I do this properly? From each mesh I have the following information: vertexData.positions = positions; vertexData.indices = indices; vertexData.normals = normals; vertexData.colors = colorlist; Is it possible to create an animation by just setting the different indices/positions/normals/colors for each frame? It would be sweet if after `vertexData.applyToMesh(myMesh, true)` and `myMesh.bakeCurrentTransformIntoVertices()` I could also be able to start the animation with `scene.beginAnimation(myMesh, 0, 3, true, 1)`. Thanks! EDIT: To add more information: the amount of vertices, their positions and their uv's can drastically change from a frame to another, so the system should handle ANY mesh sequence and not the same vertices but in different positions.
  3. I am rendering Minecraft-style terrain, but I can't find a way to make it scale well in BJS. Basically the terrain has two important features: 1. Terrain must be split into chunks (so that pieces of terrain can be added/removed/changed quickly) 2. Each chunk of terrain contains a variety of textures I built this the straightforward way - one parent mesh for each chunk, and one child mesh for each texture in that chunk. The problem is that if there are N chunks of terrain visible, and M different textures in each chunk, then this requires N*M draw calls to render. For even a minimal game N might be several hundred and M a few dozen, so N*M can quickly reach 10K draw calls. Is there any better way to make the BJS meshes or materials, to reduce the draw calls? (Notes: I'm not using instancing because each voxel face can look different due to AO and lighting. I have not tried things like mesh simplification because here the number of vertexes is not necessarily high - it's the number of draw calls that spirals out of control.)
  4. CEWBS - Fast Voxels in Motion Github/Download: [Middle-click: grab/release mouse (Click in the center), F: fly/walk, Left-click: break voxel, Right-click: place voxel]CEWBS is a MIT-Licensed library for BabylonJS which provides a VoxelMesh object for creating optimized (greedy) voxel meshes. It currently provides methods to create, update, poll, color, and pick voxels. (See The goal is to separate voxel meshes from the world 'grid' by allowing them to be rotated, scaled, moved, affected by collisions, physics, and generally treated as normal meshes. while still letting them be manipulated and accessed easily. (In the demo, the voxel mesh you are standing on is rotating, along with it's children.) The speed of the mesher is such that you can create a fast animation (Changing the blocks every frame) in a 16x16x16 mesh with almost no impact on FPS. (Demonstrated in the demo) Textures, Ambient Occlusion, and per-voxel lighting are currently not supported due to the difficulty of implementing them alongside the meshers. Feel free to help out with those. Projects Using CEWBS: None, yet. Enjoy! Sorry for the rushed post, I'll flesh it out more later.
  5. A while ago before I even started working with Babylon.js I've found some really cool software, but when I tried to import models from MagicaVoxel to Babylon.js there's something that went really wrong and some polygons look like they're inverted or something. Does anyone knows what's going on? Here's MagicaVoxel website:
  6. So I have been working on a system of voxels using three.js, and while I do have a working example of what I'm trying to accomplish at I feel like there are a lot of things I could do to make this more efficient. I adapted the pointerlock control example from three.js to get to this point. To briefly summarize what I am trying to accomplish, I am attempting to create a minecraftlike with the change that the xz plane is composed of equilateral triangles as opposed to squares. While I was able to render a scene based on whether the blocks are filled or not filled, the way I went about doing it was to create a new mesh for every face that needed to be displayed. What I would like to do instead is have one mesh for a given area that I add faces to as needed. Unfortunately I run into problems trying to keep track of vertices and faces in general, and I also need each face to be aware of both the block it represents as well as the block it is facing. I should probably mention that I am relatively new to javascript and it's very possible that I'm going about this the wrong way. I feel that HTML5 and web is the way of the future though, and so any possible suggestions on how to make this better would greatly be appreciated. Thanks, Dave (aka. Brift)