Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Godot 4 SDK #521

Open
pietru2004 opened this issue Sep 6, 2023 · 12 comments
Open

Godot 4 SDK #521

pietru2004 opened this issue Sep 6, 2023 · 12 comments
Labels
feature request Request to alter functionality

Comments

@pietru2004
Copy link

I want to ask for godot 4 SDK that would allow to use sketches in godot... by that I mean ability to get most of brush materials working in godot... and reactivity to sound.

@mikeskydev
Copy link
Member

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.

@pietru2004
Copy link
Author

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)

@mikeskydev
Copy link
Member

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

@pietru2004
Copy link
Author

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

@pietru2004
Copy link
Author

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

@mikeskydev
Copy link
Member

mikeskydev commented Sep 7, 2023

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

@pietru2004
Copy link
Author

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

@pietru2004
Copy link
Author

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

@mikeskydev
Copy link
Member

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

@pietru2004
Copy link
Author

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

@pietru2004
Copy link
Author

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

@mikeskydev mikeskydev added the feature request Request to alter functionality label Apr 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request Request to alter functionality
Projects
None yet
Development

No branches or pull requests

2 participants