Comments (7)
hah wow, nice. cc @chrisdickinson
from voxel-engine.
It seems to be a rounding problem or something as you get farther from the origin. The camera starts moving in .25 steps instead of smaller steps like it does near the origin and almost always ends up on a .25 offset inside of a block.
from voxel-engine.
Do you think something like https://github.com/MikeMcl/big.js/ could fix this? If not, internally offset the coordinates to keep them small enough?
from voxel-engine.
I have been thinking about offsetting the coordinates. I think this will make any sort of multiplayer highly complicated, because the client would have to translate all game coordinates to local coordinates and use game coordinates when communicating with the server and other clients.
The problem seems to be the visibility calculation for the land mesh. The whole mesh goes away (easily see this in wireframe) when the camera is at certain positions.
Notice the minor change in the cameraVector which determines if the land is visible or not.
from voxel-engine.
These articles might be useful:
- http://www.polygon.com/features/2014/1/27/5338438/kerbal-space-program - similar bug (they called "The Kraken") in another game, fixed by dynamically changing coordinate system at large distances
- http://www.newyorker.com/online/blogs/elements/2014/01/a-journey-to-the-end-of-the-world-of-minecraft.html
from voxel-engine.
I tried to swap out Float32Array in gl-matrix for plain Javascript Array but that didn't fix it
from voxel-engine.
Also possibly relevant: http://www.arcsynthesis.org/gltut/Positioning/Tut07%20The%20Perils%20of%20World%20Space.html
from voxel-engine.
Related Issues (20)
- esprima-six module is not reachable anymore HOT 8
- Forcing master branch to render blocks HOT 2
- Large positions cause strange behavior, glitchly camera, falling through blocks, no rendering. HOT 2
- Async loading of chunks HOT 1
- Shading planned
- Do I need a backend server for this usage scenario? HOT 3
- Why not use requestAnimationFrame instead of setInterval ?
- How to regenerate terrain? HOT 1
- How to create a world with voxel that serves multi-player? HOT 1
- How to check whether or not the mouse pointer is locked in game or not. HOT 1
- setBlock() does not update canvas until mouse click HOT 1
- How to use RessourcePack textures in voxel.js ? HOT 1
- Runing the Voxel Engine..
- How to Fix Voxel Bugs
- textures don't work?
- Add TypeScript definitions
- document.getElementById("game") is not a Node HOT 1
- All textures are black
- voxeljs.com is now parked by a domain squatter HOT 2
- Is the website hacked? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from voxel-engine.