clarkthylord / voxel-core Goto Github PK
View Code? Open in Web Editor NEWVoxel plugin for the Godot game engine!
Home Page: https://godotengine.org/asset-library/asset/465
License: MIT License
Voxel plugin for the Godot game engine!
Home Page: https://godotengine.org/asset-library/asset/465
License: MIT License
Updating and static body updating need to be optimized so as to allow low latency operations frequently
There are many cool and handy tools when creating voxel objects (I like them all โ add, sub, swap, fill, pick; individual, area, extrude etc).
But it seems I really miss an ability to select some area with voxels and then move the whole area on x/y/z.
As well as copy the area and then paste it somewhere.
Being able to select individual voxels (not the whole areas) would be great as well.
I believe this would save a lot of time.
Implement a voxel orientation system to allow transform of voxels faces, much like grid map allows orientation per cell item.
Tool that allows for texture creation on the fly.
Make in-engine editor menus modular, as in make them their own scene and reuse them throughout as needed, menus such as:
Hello,
When I build godot with this module https://github.com/Zylann/godot_voxel I get the error,
Unable to load addon script from path: 'res://addons/voxel-core/voxel-core.gd' There seems to be an error in the code, please check the syntax.
With the output being:
- res://addons/voxel-core/classes/voxel_set.gd:52 - Parse Error: Non-static function "set_name" can only be called from an instance.
- modules/gdscript/gdscript.cpp:583 - Method failed. Returning: ERR_PARSE_ERROR
- res://addons/voxel-core/classes/voxel_object.gd:502 - Parse Error: The class "VoxelSet" couldn't be fully loaded (script error or cyclic dependency).
- modules/gdscript/gdscript.cpp:583 - Method failed. Returning: ERR_PARSE_ERROR
- res://addons/voxel-core/voxel-core.gd:17 - Parse Error: Couldn't fully preload the script, possible cyclic reference or compilation error. Use "load()" instead if a cyclic reference is intended.
- modules/gdscript/gdscript.cpp:583 - Method failed. Returning: ERR_PARSE_ERROR
Is there any way I could fix this?
Add the ability to import files / palettes to VoxelSets.
Just started learning godot (today) so maybe it'll be more obvious once I learn it, but maybe add some docs or a tutorial guide?
Doesn't need to be fancy, just a quick guide on how to do what you did in your intro video might be enough.
I am making a program to generate voxel terrain
How to rotate textured blocks
Like the logs in minecraft, they can be placed in different rotations with different angles
VoxelSets, allow the defining of a base-material which would be applied to all 'linked' VoxelObjects.
Editor componentent which will assist visually when doing operations.
Create a independent chunk system for VoxelObjects.
Shaders to outline Voxel edges and crease.
In-Engine Voxel editor for modification of VoxelObjects.
Clean up and refine UV mapping on Voxels, so as to have only necessary data.
All GUI components need to be cleaned and documented properly before release
VoxelMultiMesh with the addition of a embedded "VoxelSet", self managed and updated, so as to reduce storage.
Add the ability for Voxels to define their own material attributes per face, such as metallic, roughness, emission among others
Implement the The Transvoxel Algorithm as a MeshType for VoxelObjects
Hello i have a rather annoying issue. After modifying things in the VoxelSet menu of an VoxelMesh such as adding/removing/modifying voxels, if i go to the VoxelObject and click on edit mode, voxel raycast or update button the voxel menu disapears. Here is a video showing the problem.
VoxelObject based on VoxelEmbeddedMultiMesh with the addtion data streaming.
Currently, a VoxelSet shifts all of its voxel IDs each time a voxel is removed. This is due to an oversight when designing the way in which voxels are stored and managed. A fundamental reworking of how voxels are stored and managed within VoxelSets is needed to avoid this and achieve the desired functionality.
A VoxelObject that allows for a defined "Box" in which voxels can be set, the Box has it's own position, dimension and pivot point by which all pertaining voxels will be offset by. Voxels attempted to be set outside of Box won't be successfully set.
Voxels are stored in the VoxelObject's meta data, and it's stored in a rather primitive manner. So I'll definitely have to look into ways of optimizing storage.
Optimize the greedy meshing of VoxelObjects, such as VoxelMesh, right now it's iterative, maybe it can be optimized with a recursive method.
Allow for continues loading of Voxel data from files.
I plan on porting this to Godot Mono in C# has that been done already?
So as to reduce Voxel data every VoxelObject will have a embedded VoxelSet, allowing for new Voxel data to be indexed into a unique or sharable VoxelSet.
Creating a VoxelObject and drawing works,
After that I can't edit a VoxelObject see here:
Using Godot 3.4.2
VoxelObject which is composed of n layers.
Optimize for low latency edits of large scale.
Implement the Marching Cubes algorithm as a MeshType for VoxelObjects
Make use of Mesh Surfaces, in VoxelObjects, so as too add/remove/modify mesh directly via operations, as opposed to the recreating of the complete mesh on any single operation.
Hi!
I believe that it could be helpful if class methods were documented in this project's documentation. The current documentation presents code examples, but those don't show how every method is used.
Of course, you could look at the source of the class you're trying to use. But as a user that is not too experienced with gdscript, that is a bit challenging.
Thank you.
Create a in-engine editor for VoxelSets.
Calculate tile size automatically given a Texture.
Add a new Tool Mode that allows for extruding operations.
Optimize StaticBody for VoxelObjects.
I need to find a way to optimize the updating and static body generation for chunks
Voxel-Core was created with the intention of being used by Voxly, a independent voxel workspace with support for animation. I believe it is time to start working towards this, with the added feature of Godot support.
As title says. im on a Mac on godot version 3.2.1 and voxelcore 2.0.0. I can confirm that updating a voxelcore's shader material won't save persistently however it applies it perfectly (?). And whenever I try to manually see mesh options the entire node deselects on the editor tree indicating a thread crash.
Documentation found in script needs to be completed and proofread.
Editing flag so as to optimize mesh building and static bodybuilding
Voxels as of now can only have solid colors and textures, things such as custom materials per Voxels have yet to be implemented
Hello, in my current project I am using MagicaVoxel to build all my characters and equipment.
I make use of MagicaVoxels Object/Group Outliner to seperate my assets into multiple parts, which I can then animate in Godot (eg. arms, legs, body...).
Currently, I export every object from the outliner into a seperate vox file, then import them, and adjust their relative positions manually. This can be rather time intensive for larger assets.
A very helpfull feature would be an import option, that makes it possible to import a vox file into multiple meshes, without loosing this seperation, and the parts relative positions. Maybe into a scene, which maintains the structure of the vox file.
Tools of VoxelEditor in engine:
In your examples you refer to Voxel.VoxelWorldSize
. But this does not exist. (Invalid get index.)
Adding this to voxel.gd fixes it. Should be maybe variable.
const VoxelWorldSize = 0.5
Great project btw. ๐
VoxelSet should stop being a Node, and instead become a resource so as to allow sharing between VoxelObjects and unique instances
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.