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

Submit Better Collada Exporter to the Blender devs for inclusion #31

Closed
ghost opened this issue Sep 1, 2016 · 30 comments
Closed

Submit Better Collada Exporter to the Blender devs for inclusion #31

ghost opened this issue Sep 1, 2016 · 30 comments

Comments

@ghost
Copy link

ghost commented Sep 1, 2016

(Continued from godotengine/godot#5457)

Alright, so last time the Better Collada Exporter was submitted to the Blender devs they rejected it and gave some changes to implement, but now after some work their suggestions have been implemented and now the plugin is in pretty good shape for a second round.

Anyone closely involved with Godot's development (pinging @reduz @vnen @akien-mga @Calinou) willing to submit it to the Blender devs? Preferably someone patient, as from what I've seen from @reduz's thread on the Blender mailing lists they can be picky, and it'd be the best for everyone involved (including other engines) if BCE got merged into Blender and their devs contributed to it.

@vnen
Copy link
Member

vnen commented Sep 1, 2016

Well, I don't use Blender (don't even have it installed), so I don't think I'm a good candidate for this.

I know you already put quite some effort into the code, but IMO you can be the one proposing that for the Blender devs. If you can't be the one, then we need to find someone else acquainted with the Collada Exporter code to discuss and implement changes if needed.

If you (or anyone else) need support from official voices, I'm pretty sure that @reduz or @akien-mga will help where they can.

@ghost
Copy link
Author

ghost commented Sep 1, 2016

Thanks for answering, @vnen.

I'm honored to be even considered to do this but to be honest, I'm not the right person. I was glad to contribute and I'd be glad to contribute more code if needed, but I have to respectfully decline, as I don't have enough time to properly see it through.

Since he was so kind to post the original, I would kindly ask @ideasman42 to submit it to the Blender team again (I'm sure @reduz is fine with it).

@set-killer
Copy link
Contributor

Anybody?!?

The person who volunteers for this dirty job will be honoured with the title"Senior Negotiator" or "Ambassador of Blenderlands".

@paper-pauper - you have right set of skills for this job. I'm sure will do a great job.

@ghost
Copy link
Author

ghost commented Sep 9, 2016

@set-killer Calling people out after they refused is not cool, dude 😒

If anything code-wise comes up, I might give a hand, but this is not my stuff. If a discussion springs up, I might say the wrong thing and frankly, after the response @reduz received on their mailing lists, I don't think I could do any better.

@reduz
Copy link
Member

reduz commented Sep 9, 2016

I get angry at them easily, we need someone who can keep it cool

On Sep 9, 2016 10:12 AM, "paper-pauper" [email protected] wrote:

@set-killer https://github.com/set-killer Calling people out after they
refused is not cool, dude 😒

If anything code-wise comes up, I might give a hand, but this is not my
stuff. If a discussion springs up, I might say the wrong thing and frankly,
after the response @reduz https://github.com/reduz received on their
mailing lists, I don't think I could do any better.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#31 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z2yUiM4QUfL1uQygmht5F1AFxmfAdks5qoVsjgaJpZM4JytuT
.

@akien-mga
Copy link
Member

@SaracenOne Interested? :P

@gau-veldt
Copy link

Sounds like getting something into Blender involves as much politics as it does code.

@ideasman42
Copy link

ideasman42 commented Sep 17, 2016

Hi I was notified of this thread since my user name was mentioned,
I did the initial review, there were 4 blocking issues getting this exporter into Blender:
See link: https://developer.blender.org/D1787#40477
(nothing political).


@reduz complicated things considerably by requiring the existing exporter be removed, as a condition of finishing improvements to the new exporter.
See: https://developer.blender.org/D1787#40771

I'm no longer maintainer of this area of Blender, but in future - suggest to allow maintainers of the software to manage phasing out old features, which was the intention by all involved anyway... becoming picky with how a feature is phased out just makes it hard to accept changes, risking delays in the review process - which is whats happened here.

@ghost
Copy link
Author

ghost commented Sep 17, 2016

@ideasman42 Thank you for your reply. Could you please tell us who's in charge of this now, so that we can contact him/her?

@ideasman42
Copy link

ideasman42 commented Sep 17, 2016

@paper-pauper, Best just post any updates to https://developer.blender.org/D1787 - if there is no response ping https://lists.blender.org/mailman/listinfo/bf-committers mailing list.

@ghost ghost mentioned this issue Oct 3, 2016
@ghost
Copy link
Author

ghost commented Oct 3, 2016

Continuing the conversation from #33 - @set-killer have you found the Collada script Blender is supposed to be using in their repo?

@set-killer
Copy link
Contributor

set-killer commented Oct 3, 2016

Ugh, no. But as far as i know the Blender release 2.8 is not going to happen any time soon. Maybe in the next year (I am not sure how far are they from this milestone, I found only some proposals). Also the first versions of 2.8X are going to be alphas and betas - not intended for production.

According to this page the releases 2.77, 2.78 and 2.79 are going to be bugfixes and small stable features. We just missed the 2.78 release. So if we submit it now we may end up in 2.79 but in that case we don;t know if they are going to backmerge it to their 2.8 branch.

And according to the pointed out document in the other discussion we are heading for 2.8...

@akien-mga
Copy link
Member

akien-mga commented Oct 25, 2016

Looks like Blender devs have their own plans already: https://code.blender.org/2016/10/the-collada-case/

Given the history, I guess we don't need to spend too much time fighting our way to upstream if on a blog post about their collada exporter they don't even mention the "Better Collada" one. We can of course try to remind them about our exporter if they're interested, but I know that @reduz won't want to spend time advocating it too much.

Also @reduz mentioned that once both Blender and Godot have PBR (a.k.a. quite soon), we could just write a plugin that exports directly to .tscn and thus bypass the need to use Collada.

@ghost
Copy link
Author

ghost commented Oct 25, 2016

@akien-mga Could you please expand on the Physically Based Rendering thing (I know what PBR is, just how it applies here)? How does it bypass the need for Collada?

@akien-mga
Copy link
Member

akien-mga commented Oct 25, 2016

@paper-pauper I'm just paraphrasing @reduz from the dev channel yesterday:

[23:18:31] <reduz> n-pigeon, we have .tscn now, and blender will soon support PBR
[23:18:40] <reduz> n-pigeon, so it will be much easier to make a .tscn export plugin for Blender and forget about Collada
[23:19:11] <reduz> we can export the full shaders and stuff like that
[00:03:30] <Calinou> reduz: isn't .tscn problematic for large scenes, since it's a text format and not binary?
[00:03:33] <Calinou> load times, etc
[00:15:13] <reduz> Calinou, yes, but for exporting and reading once it's fine
[00:15:22] <reduz> Calinou, it will be imported into .scn anyway

@set-killer
Copy link
Contributor

set-killer commented Oct 25, 2016

I think that the above statement wouldn't work that easily if Blender support PBR only for Cycles renderer (where everything is nodes).

@akien-mga a comment down there in the pointed article should be enough ;D just link it to the current thread.

@reduz
Copy link
Member

reduz commented Oct 26, 2016

I am closer to giving up and turning better collada into a .tscn exporter

On Oct 25, 2016 17:29, "N. D." [email protected] wrote:

I think that the above statement wouldn't work that easily if Blender
support PBR only for Cycles renderer (where everything is nodes).


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#31 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z2_bjAu2C5dTJTra3EQVe32wtyHM8ks5q3maOgaJpZM4JytuT
.

@ghost
Copy link
Author

ghost commented Oct 26, 2016

@reduz What about this: you move on to .tscn, meanwhile we try to get the Blender devs take a look at BCE. If they become the maintainers, good; if you don't, well, Godot can't be held back by third parties, and if .tscn has the potential to replace Collada anyway, you should focus on it.

Is there some spec for the .tcsn format, by the way?

@set-killer
Copy link
Contributor

@reduz :
According to this document the blenders PBR will be supported only for Cycles render. Which is kind of expected since currently only Cycles is in active development.

The Cycles renderer uses totally different organization for the objects properties like the diffuse colours, textures, speculars, normals and etc., related to the materials. In fact those properties are translated into node trees. That means when exporting the materials - all the material node trees (with all types of nodes) should be parsed. Blender has really really a lot of node types, some of which may not have analogue in Godot. Exporting something from the Cycles render is madness!

When you have objects made in the old Blender Render you cannot switch with one click to the Cycles Render. You have to redo all the materials, textures, shading and etc in Cycles.

Is there some spec for the .tcsn format, by the way?

Exactly! We don't have a 500 pages fat PDF with the specification of tscn.

@ghost
Copy link
Author

ghost commented Oct 26, 2016

Sorry @set-killer but where did you read that it's Cycles only?

Real-time (GLSL/PBR) with scene lights
Real-time (GLSL/PBR) with HDRI

Real-time means the Blender Internal renderer, doesn't it?

@ghost
Copy link
Author

ghost commented Oct 26, 2016

It seems that a Blender dev just addressed BCE:

https://code.blender.org/2016/10/the-collada-case/#comment-75926

What to make of it?

@akien-mga
Copy link
Member

What to make of it?

That the communication was quite bad on both sides last time Godot devs and Blender devs discussed it :p

About Gaia's question regarding who would maintain the exporter, I think the intention on our side is to get it upstreamed, and thus that they would take it over fully, so that we can tell Godot users to just use the official Blender exporter. So the main point is whether the current exporter is useful to them, and if they want to use it as a base, write an importer in python (we have on in C++, but Godot-specific - though it can be used as a reference) and integrate it into Blender.

Whether the current Blender exporter should be obsoleted, that's for Blender devs to decide. @reduz likely expressed in the past his opinion about this existing exporter, and it might very well have been "better drop it as it produces unusable Collada" - given the blog post, I guess Blender devs have finally come to a similar conclusion and are now looking into alternative. "Better Collada" is there for the taking.

@set-killer
Copy link
Contributor

set-killer commented Oct 26, 2016

@paper-pauper

(iii) We intend to retire Blender Internal as a standalone offline renderer, and make the real-time
viewport take over its duties. We plan to support its material system and convert existing Blender files
relying on the old engine to their OpenGL equivalent shaders seamlessly whenever possible.

In fact we don't know yet how is going to look the new python interface for accessing the object's properties, but it should be somehow useful for the developers, because they would to support a lot of external renderers (Godot is also mentioned).

@set-killer
Copy link
Contributor

@reduz
In the Collada format there is an <extra> tag which could be useful for the non-standard attributes like PBR settings. More info on Page 75.

@reduz
Copy link
Member

reduz commented Oct 27, 2016

as long as the shaders are node base, we can make sure that Godot provides
the same (or as similar as possible) for the transition. Saving to .tscn
would fully keep materials.

On Wed, Oct 26, 2016 at 3:03 PM, N. D. [email protected] wrote:

@paper-pauper https://github.com/paper-pauper

(iii) We intend to retire Blender Internal as a standalone offline
renderer, and make the real-time
viewport take over its duties. We plan to support its material system and
convert existing Blender files
relying on the old engine to their OpenGL equivalent shaders seamlessly
whenever possible.

In fact we don't know yet how is going to look the new python interface
for accessing the object's properties.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#31 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z25zbJSM7Vij8qI4d70kO_J2r9B09ks5q35XegaJpZM4JytuT
.

@reduz
Copy link
Member

reduz commented Oct 27, 2016

I know, but if we are exportig for godot, lets just export for godot then

On Oct 26, 2016 15:12, "N. D." [email protected] wrote:

@reduz https://github.com/reduz
In the Collada format there is an tag which could be useful for
the non-standard attributes like PBR settings. More info on Page 75
https://www.khronos.org/files/collada_spec_1_5.pdf.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#31 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z213nn-HeI5ceP30HuOrCS1qqgnapks5q35f9gaJpZM4JytuT
.

@juan-garcia-m
Copy link

@reduz so what happened with the .tscn exporter?
I am working on a building tool for Godot 3.0+ for wich generate the DAE files from .blend, but a direct exporter will be much more appreciated.

@rminderhoud
Copy link

IMO this issue and #42 should both be closed and the goal should be to deprecate the Blender -> Collada -> Godot pipeline at some point. The best path would be to directly support Godot in an exporter (e.g. .tscn) but if an intermediary format is still required then GLTF 2.0 should be preferred over Collada (https://godotengine.org/article/we-should-all-use-gltf-20-export-3d-assets-game-engines)

@ideasman42
Copy link

+1 from Blender side, GLTF has a narrow scope which is less trouble to support, also a better fit for exporting to engines.

@akien-mga
Copy link
Member

Agreed, that ship has sailed and we also want to promote glTF 2.0 has recommended exchange format. We'll take lengths to ensure that the output from Blender's official exporter can be used out of the box in Godot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

9 participants