Giter VIP home page Giter VIP logo

Comments (12)

mikeskydev avatar mikeskydev commented on June 13, 2024

Hi, while it would be awesome if a Godot SDK existed, we have no active contributors who are familiar with Godot at this time I'm afraid! If you know anyone, we'd happily try to help them build one.

from open-brush.

pietru2004 avatar pietru2004 commented on June 13, 2024

I am familiar with godot gdscript, also gdextension allows other codding langs, and build with mono allows c# if I am correct, althrou I have almost no time. I could try it, but well, I am at school final class.

Well, mayby first, I should simply ask how advanced meshes are? Are there any custom shaders for animated materials? Etc. Does it need any GUI cause if not SDK could be just importer extension, plugin that says how to load custom res(code to load it)

from open-brush.

mikeskydev avatar mikeskydev commented on June 13, 2024

It really depends on the brush being used, a lot of strokes are basically triangle strips, but some are fully 3D tubes. Bascally all are custom shaders, though some can be PBR-approximated. I think the best way to tackle this would be to have a gdextension for Godot's glTF importer, that supports the extension Tilt Brush used to tag it's brushes: GOOGLE_tilt_brush_material. I built a toolkit for three.js that follows this pattern: https://github.com/icosa-foundation/three-icosa

from open-brush.

pietru2004 avatar pietru2004 commented on June 13, 2024

Hm gona try looking at it later. It is hard to read code on the phone.

from open-brush.

pietru2004 avatar pietru2004 commented on June 13, 2024

@mikeskydev so I think it would be easiest to just make plugin that only sets correct shader/material

from open-brush.

pietru2004 avatar pietru2004 commented on June 13, 2024

Docs: https://docs.godotengine.org/en/latest/tutorials/plugins/editor/import_plugins.html
Demos: https://github.com/godotengine/godot-demo-projects/blob/master/plugins/addons/material_import_plugin

from open-brush.

mikeskydev avatar mikeskydev commented on June 13, 2024

Our primary export file format is glTF which has the specific identifiers you'd need to set the correct shader model, so I still think it makes sense to build the plugin as an addition to the glTF plugin. See https://github.com/godotengine/godot/pulls?q=is%3Apr+gltf+OMI for example adding some OMI_ glTF extensions, or godotengine/godot#78621

Looks like there's some docs: https://docs.godotengine.org/en/stable/classes/class_gltfdocumentextension.html

from open-brush.

pietru2004 avatar pietru2004 commented on June 13, 2024

I know of GLTFDocumentExtension but I am not sure how to plug into default importer

from open-brush.

pietru2004 avatar pietru2004 commented on June 13, 2024

@mikeskydev it is not like *.tilt files are gltf files are they ?

from open-brush.

mikeskydev avatar mikeskydev commented on June 13, 2024

No, but that's a much bigger project to build an importer for the file format as you would need to regenerate the meshes from raw control point data, which will be different depending on each brush. I think starting with GLTF will be good for sorting the shaders/materials part first, which you would need anyways for a theoretical .tilt importer

from open-brush.

pietru2004 avatar pietru2004 commented on June 13, 2024

well I have one problem and that is absolutely 0 idea how to plug in into godot importer of gltf, like register function for checking materials and assign it, I have idea how to get materials and assign them, but not how to get to have it done on import...

I gona try experimenting with it... but well I am not sure won't I break something

from open-brush.

pietru2004 avatar pietru2004 commented on June 13, 2024

hm... if materials are named on export wouldn't it be easiest to just provide godot ready shaders that could just be bound/applied to the objects? Color could be taken from vertex...

from open-brush.

Related Issues (20)

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.