Code Monkey home page Code Monkey logo

voxel-core's Introduction

Full-stack developer with a burning passion for game development

My passion for software development started at an early age, since I can remember, I've always wanted to build and share my ideas with others. This desire would eventually lead me to create my first “hello world” program at the age of 12 written in Java. Now, several years later, I’ve had the privilege to lead and work alongside various teams and projects throughout the years, building and diversifying my skill set even further.

Connect with me:

https://clarkthylord.github.io/ ClarkThyLord | LinkedIn ClarkThyLord | Twitter ClarkThyLord | YouTube



voxel-core's People

Contributors

clarkthylord avatar electronicblueberry avatar scorpioninc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

voxel-core's Issues

Voxel Materials

Add the ability for Voxels to define their own material attributes per face, such as metallic, roughness, emission among others

  • metallic
  • specular
  • roughness
  • emission
    • energy
    • color

Make in-engine editor menus modular

Make in-engine editor menus modular, as in make them their own scene and reuse them throughout as needed, menus such as:

  • Color Menu
  • Texture Menu
  • Material Menu

VoxelEditor

In-Engine Voxel editor for modification of VoxelObjects.

Chunk System

Create a independent chunk system for VoxelObjects.

Feature Request: Import multiple objects from complex MagicaVoxel File

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.

Color picker, isn't working

Screen Shot 2021-04-18 at 5 58 24 PM

When ever I click outside of that grey box, the window closes so I can't choose a color or add to voxel set.

I have a Mac so maybe the formatting is different.

Voxel Storage Optimization

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.

VoxelMesh optimization

Updating and static body updating need to be optimized so as to allow low latency operations frequently

Optimize Greedy Meshing

Optimize the greedy meshing of VoxelObjects, such as VoxelMesh, right now it's iterative, maybe it can be optimized with a recursive method.

Voxel Orientation

Implement a voxel orientation system to allow transform of voxels faces, much like grid map allows orientation per cell item.

docs?

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.

Mac 2.0 update broke mesh and material editing on voxel objects.

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.

VoxelWorldSize does not exist

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. 👍

VoxelMultiMesh

I need to find a way to optimize the updating and static body generation for chunks

Tools

Tools of VoxelEditor in engine:

  • pan
  • add
  • swap
  • remove
  • pick
  • fill
  • select not a tool, but selection mode

Unable to load addon script from path with Zylann's godot_voxel module build

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?

VoxelBoxMesh

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.

VoxelSet voxel IDs shift whenever removing a voxel

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.

Voxel UV fix up

Clean up and refine UV mapping on Voxels, so as to have only necessary data.

Utilize Mesh Surfaces

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.

Port to Mono?

I plan on porting this to Godot Mono in C# has that been done already?

Document methods in the wiki

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.

Ability to select, move, copy and paste voxelobject voxels and areas

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.

VoxelEmbeddedMultiMesh

VoxelMultiMesh with the addition of a embedded "VoxelSet", self managed and updated, so as to reduce storage.

VoxelSet editor

Create a in-engine editor for VoxelSets.

  • preview
  • add voxels
  • remove voxels
  • update voxels

Voxly

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.

Texture Tool

Tool that allows for texture creation on the fly.

VoxelSet Materials

VoxelSets, allow the defining of a base-material which would be applied to all 'linked' VoxelObjects.

Convert VoxelSet into a resource

VoxelSet should stop being a Node, and instead become a resource so as to allow sharing between VoxelObjects and unique instances

Embed VoxelSets to all VoxelObjects

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.

VoxelCursor

Editor componentent which will assist visually when doing operations.

How do i rotate voxel

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

VoxelObject Menu closing after modfiying voxels in VoxelSet

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.

iFA0b5bII5.mp4

VoxelLayeredMesh

VoxelObject which is composed of n layers.

  • Layers : Array
  • Layer
    • name : String = 'layer_' + n
    • type : VoxleObject = VoxelMesh
    • data : Dictionary<Vector3, Dictionary> = {}

Voxel Specific Materials

Voxels as of now can only have solid colors and textures, things such as custom materials per Voxels have yet to be implemented

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.