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

Inherited Models don't hold information about textures/mappings #10147

Closed
Tracked by #4778
kubecz3k opened this issue Aug 7, 2017 · 13 comments
Closed
Tracked by #4778

Inherited Models don't hold information about textures/mappings #10147

kubecz3k opened this issue Aug 7, 2017 · 13 comments

Comments

@kubecz3k
Copy link
Contributor

kubecz3k commented Aug 7, 2017

Operating system or device - Godot version:
Linux, e12b422

Issue description:
After creating inherited scene for dae model, it's impossible to setup mapping and textures, because the information will be lost after closing the scene:
inheritedmaterial

Steps to reproduce:

  1. Download reproduction project.
  2. Open stone.tscn
  3. Setup albedo texture
  4. Save and close
  5. Open stone.tscn again

Link to minimal example project:
Inherited Material Issue.zip

@bojidar-bg
Copy link
Contributor

bojidar-bg commented Aug 7, 2017

Using "Override Material" works, right?

@reduz
Copy link
Member

reduz commented Aug 7, 2017 via email

@Zireael07
Copy link
Contributor

@reduz: Related to #9037 then.

@kubecz3k
Copy link
Contributor Author

kubecz3k commented Aug 7, 2017

Actually in that case it would be quite bad to use "Override Material". Our 3d asset workflow assumes we will create inherited scenes for assets/dae files. And setting material inside dae is not a good idea since it will be lost after re-import.

@reduz
Copy link
Member

reduz commented Sep 1, 2017

I changed the default behavior so materials are imported as separate resources and kept, so you can edit them. I will leave this open so I remember to make the property editor read-only if the resource belongs to an inherited scene.

@kubecz3k
Copy link
Contributor Author

kubecz3k commented Sep 1, 2017

@reduz if I understand you correctly then you are suggesting to setup material inside dae file. This is not helpful since Godot is unable to save dae files:
alert
also as I said every time when user is opening dae scene he is dealing with alert information that scene can't be modified.
Am I understanding something wrong?

@kubecz3k
Copy link
Contributor Author

Checked today with aa4694b. It seems this is fixed now. Thanks!

@kubecz3k
Copy link
Contributor Author

In the end it seems the issue is not fixed yet in 7842332. It's working for me with one model (don't know why). Also some other models (like the one on the vid) will have correctly predefined some mappings (also dont know why), but I still can't change other mappings or values. I'm not sure maybe I'm doing something wrong here? Recorded a vid on which I'm creating fresh project and I'm importing a model: https://www.youtube.com/watch?v=WW0QKTXtDOw&feature=youtu.be
(you can start watching it from 40s, first 40s is project creation)

@ThomasMorley-T3D
Copy link

ThomasMorley-T3D commented Dec 9, 2017

This appears to still be broken in Godot 3.0 Beta 1. Balls should go from green to yellow to red individually based on a timer.
Small example file attached

Make Unique.zip

@kubecz3k
Copy link
Contributor Author

kubecz3k commented Dec 9, 2017

I'm no longer able to reproduce in 3fd1c0c
Keep in mind you need to import models with import preset Import with separate materials which I think was default back then.
Also if anyone would like to be able to enhance animations as well the best preset is Import with separate materials + animations

@kubecz3k
Copy link
Contributor Author

kubecz3k commented Dec 9, 2017

@ThomasMorley-T3D The ball is changing directly to yellow because of some bug in the script. I used couple prints and I can see that the code that's changing color to red is never fired.

@kubecz3k kubecz3k closed this as completed Dec 9, 2017
@ThomasMorley-T3D
Copy link

ThomasMorley-T3D commented Dec 9, 2017

If you change theWaitTime var in the main script for ball spawn time to 31 you will see that the script appears to be correct. The ball will go from green to yellow and then red. The problem is when you reduce the ball spawn time 5 seconds and have multiple balls, the call to an individual ball changes the material of all the balls in the scene. Setting the material to unique makes no difference. The script could be wrong but I don't see the problem.

I don't see any settings for import in 3.0 I just drop the .dae in the folder and it auto imports. In my example I am just using Godot's default 3d shapes.

@kubecz3k
Copy link
Contributor Author

kubecz3k commented Dec 9, 2017

If that's the problem then as far as I know you should set 'local to scene' inside material resource.

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

5 participants