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

3.4.0 texture export bug #294

Closed
Colimata opened this Issue Aug 16, 2017 · 9 comments

Comments

Projects
None yet
3 participants
@Colimata

Colimata commented Aug 16, 2017

(Could be same root cause as #290 ?)
When Autodetect textures are off, the manually entered textures should be used by the exporter.
In the following situation, this does not work, it actually does not create the obj file and produces an error. (See attached log).
xplane2blender.txt
Temporary solution:
In every material, every texture slot (in the textures tab) must be deleted. Then it exports.
But with Autodetect textures off this texture slots should not matter, if I understood correctly? Actually, those textures are quite handy during development.

Example file:
Export_texture_bug.zip
Created and saved in
blender 2.78c portabale
exporter 3.4.0 beta 2

Generally the exporter works pretty well also on complex tasks with tons of animations. Good job!
Best regards
Florian
COLIMATA

@tngreene tngreene self-assigned this Aug 25, 2017

@tngreene

This comment has been minimized.

Show comment
Hide comment
@tngreene

tngreene Aug 25, 2017

Collaborator

Highly related to #243

Collaborator

tngreene commented Aug 25, 2017

Highly related to #243

@tngreene

This comment has been minimized.

Show comment
Hide comment
@tngreene

tngreene Aug 25, 2017

Collaborator

Hi @Colimata, try this build and see if it fixes your problem
io_xplane2blender_294_autodetect_off_aircraft.zip

Collaborator

tngreene commented Aug 25, 2017

Hi @Colimata, try this build and see if it fixes your problem
io_xplane2blender_294_autodetect_off_aircraft.zip

@tngreene

This comment has been minimized.

Show comment
Hide comment
@tngreene

tngreene Aug 25, 2017

Collaborator

What this appears to be is that the implementation of #243, having autodetect textures turned off ignores certain validations and trusts the user was incomplete. Aircraft need these turned off as well. This build does just that.

Collaborator

tngreene commented Aug 25, 2017

What this appears to be is that the implementation of #243, having autodetect textures turned off ignores certain validations and trusts the user was incomplete. Aircraft need these turned off as well. This build does just that.

tngreene added a commit that referenced this issue Aug 25, 2017

fix: Closes #294, and finishes what #243 started - making disabling a…
…utodetect textures completely respect and trust the author
@Colimata

This comment has been minimized.

Show comment
Hide comment
@Colimata

Colimata Aug 26, 2017

Great job! This does it. With "Autodetect Textures" OFF it bypasses the "texture slots" checks and exports the object, using the textures entered manually under "X-Plane Layers". This could also solve #290.

Colimata commented Aug 26, 2017

Great job! This does it. With "Autodetect Textures" OFF it bypasses the "texture slots" checks and exports the object, using the textures entered manually under "X-Plane Layers". This could also solve #290.

@Colimata

This comment has been minimized.

Show comment
Hide comment
@Colimata

Colimata Aug 26, 2017

autodetect textures on
I'm sure that quite some work went into the "Autodetect Textures" feature.
But may I suggest to switch it off by default especially for the beginners due to foreseeable problems I try to explain now (warning personal opinion):

  1. Autodetect textures OFF:
    Whatever the author(beginner) does with textures, materials (that often are connected) inside blender, in terms of texture names doesn't matter and can not cause errors that are definitely too complex to handle for beginners.
    The textures entered under "Layer" are used. Plain and simple. In terms of texture nothing else matters. (Safe way)

  2. Autodetect textures are ON:
    Every reuse of a material (that have a texture assigned) on a different layer leads to an export error. (See slide)

Now, in theory, one could create completely separate sets of materials for every layer/x-plane object. For a really small project this could make sense.
But humans think in real life materials. So "Black matte plastic" has the same material settings no matter on which layer the object is."Aluminium" has the same material settings no matter on which layer the object is.

With "autodetect textures" ON, if one uses, say 8 layers, it would require 8 "black matte plastic" materials (with 8 different textures), and 8 "aluminum" materials to represent these two real life materials in the project.
If a material setting needs to be changed (like 3 times/project) 16 ! material settings need to be updated just to change one "matte black plastic " and one "aluminum".
Not to talk about big projects with 50 materials the would jump to far over 200 materials
to handle by separating them by layers.

Now it could be that this is different for scenery objects. I don't know.
I've also no experience with the "root objects" export systems. Maybe fits there perfectly.

I suggest to go the safe way and switch “auto detect textures” off by default. Maybe other authors have also an (differnt/same) idea about this?

Best regards
Florian
COLIMATA

Colimata commented Aug 26, 2017

autodetect textures on
I'm sure that quite some work went into the "Autodetect Textures" feature.
But may I suggest to switch it off by default especially for the beginners due to foreseeable problems I try to explain now (warning personal opinion):

  1. Autodetect textures OFF:
    Whatever the author(beginner) does with textures, materials (that often are connected) inside blender, in terms of texture names doesn't matter and can not cause errors that are definitely too complex to handle for beginners.
    The textures entered under "Layer" are used. Plain and simple. In terms of texture nothing else matters. (Safe way)

  2. Autodetect textures are ON:
    Every reuse of a material (that have a texture assigned) on a different layer leads to an export error. (See slide)

Now, in theory, one could create completely separate sets of materials for every layer/x-plane object. For a really small project this could make sense.
But humans think in real life materials. So "Black matte plastic" has the same material settings no matter on which layer the object is."Aluminium" has the same material settings no matter on which layer the object is.

With "autodetect textures" ON, if one uses, say 8 layers, it would require 8 "black matte plastic" materials (with 8 different textures), and 8 "aluminum" materials to represent these two real life materials in the project.
If a material setting needs to be changed (like 3 times/project) 16 ! material settings need to be updated just to change one "matte black plastic " and one "aluminum".
Not to talk about big projects with 50 materials the would jump to far over 200 materials
to handle by separating them by layers.

Now it could be that this is different for scenery objects. I don't know.
I've also no experience with the "root objects" export systems. Maybe fits there perfectly.

I suggest to go the safe way and switch “auto detect textures” off by default. Maybe other authors have also an (differnt/same) idea about this?

Best regards
Florian
COLIMATA

@tngreene

This comment has been minimized.

Show comment
Hide comment
@tngreene

tngreene Aug 26, 2017

Collaborator

There is a lot to digest and fact check in your comment here. Since the bug is solved I'm going to mark it as closed, however we can still talk about this or potentially move this conversation to a new bug when I figure out what to call it.

Collaborator

tngreene commented Aug 26, 2017

There is a lot to digest and fact check in your comment here. Since the bug is solved I'm going to mark it as closed, however we can still talk about this or potentially move this conversation to a new bug when I figure out what to call it.

@tngreene tngreene closed this Aug 26, 2017

@tngreene

This comment has been minimized.

Show comment
Hide comment
@tngreene

tngreene Aug 26, 2017

Collaborator

Also, where did you get that diagram? Did you make it?

Collaborator

tngreene commented Aug 26, 2017

Also, where did you get that diagram? Did you make it?

@arb65912

This comment has been minimized.

Show comment
Hide comment
@arb65912

arb65912 Aug 26, 2017

I remember a long time ago I wanted to understand how the "Autodetect textures" works and I could not find the explanation of it in the documentation.

I have tried anyway but received an error, do not remember now the setup for that.

As a beginner, I also suggest to have "Autodetect textures" OFF, simple manual entering texture names for each layer that corresponds to appropriate files in aircraft folder works very well for me.

On the other hand, there might be the benefits of having "Autodetect textures" ON but I would like the documentation to explain that in details before I even make tests.

Excellent input Florian and excellent work on exporter Ted!!!!!

arb65912 commented Aug 26, 2017

I remember a long time ago I wanted to understand how the "Autodetect textures" works and I could not find the explanation of it in the documentation.

I have tried anyway but received an error, do not remember now the setup for that.

As a beginner, I also suggest to have "Autodetect textures" OFF, simple manual entering texture names for each layer that corresponds to appropriate files in aircraft folder works very well for me.

On the other hand, there might be the benefits of having "Autodetect textures" ON but I would like the documentation to explain that in details before I even make tests.

Excellent input Florian and excellent work on exporter Ted!!!!!

@Colimata

This comment has been minimized.

Show comment
Hide comment
@Colimata

Colimata Aug 28, 2017

Thanks, guys. I took my time to create the diagram and text by myself since I think this is one of these "barriers" that could make development work more cumbersome and frustrate the majority of beginners.
From the implementation side "Autodetect Textures" is good, the practical application is the critical point. I suggest to leave it OFF by default.

Colimata commented Aug 28, 2017

Thanks, guys. I took my time to create the diagram and text by myself since I think this is one of these "barriers" that could make development work more cumbersome and frustrate the majority of beginners.
From the implementation side "Autodetect Textures" is good, the practical application is the critical point. I suggest to leave it OFF by default.

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