We are having the same issue on all of the models he has sent me. If possible, I would like to get the textures as a separate jpg, so that I can reskin some of the ships, but I would be happy just getting the textures applied at this point.
Pview and the game both show the same model. I have tried turning on lighting in pview, and I also have light sources in-game, but it doesn’t help.
I am guessing that there is something simple we aren’t doing right, but I just don’t know what it is. Thanks for any and all advice!
Well, loading up the .blend file into Blender, the first thing I noticed is that the satellite isn’t UV-mapped. Chicken will only export UV-mapped surfaces. (Under Map Input in the Material button, it must be set to UV, and nothing else.)
I tossed onto a simple UV map on the satellite object and textures are showing up for me in Pview.
You’ll need to let your artist know that the models need to be fully UV mapped, and AFAIK, only one UV map per mesh. (I’m not even sure if Blender supports multiple UV maps per mesh. Lightwave does, and you have to be careful of that.)
I’m gettin the exact same error as Tutunkommon while my textures are well defined as UV.
In my case, it’s like Panda doesn’t know where the textures I’m using are located…
Here’s the error message I’m having:
DirectStart: Starting the game.
Known pipe types:
(all display modules loaded.)
:gobj(error): Texture::read() - couldn't read: ./../../Textures/dirt1.png
:gobj(error): Unable to find texture "./../../Textures/dirt1.png" on model-path /Users/tallmystcarpet/Documents:/Applications/Panda3D/1.6.2:/Applications/Panda3D/1.6.2/models
:gobj(error): Texture::read() - couldn't read: ./../../Textures/rocks02.png
:gobj(error): Unable to find texture "./../../Textures/rocks02.png" on model-path /Users/tallmystcarpet/Documents:/Applications/Panda3D/1.6.2:/Applications/Panda3D/1.6.2/models
My textures and .egg files are well in the same directory and I’m aiming it correctly using :
environ = loader.loadModel("MyDirectoryPath")
It’s like Panda is always going to see what’s happening in /Applications/Panda3D/1.6.2/models where the tutorials are located.
As a result, my Mesh do appear in the render window but in black without textures on it!!!
What am I missing ?
What do you mean by multitexturing exactly ? Chicken does support a fair few options but it doesn’t support everything. If you just mean having multiple materials assigned face by face to a mesh then it certainly supports that, it also supports various Blender mix modes, but not all of them, and also supports the stencil map mode.
Multitexturing = putting two textures on the same material.
This is being done by using layers where you need to put a stencil between the two textures (So, three textures in all). That stencil in between is usually colored in black and white where the black area let the first texture appear and the white area allow the second texture to appear.
This method is giving you the freedom of drawing your textures whenever you want instead of simply assign your textures only to specific faces!
This is one of the Blender’s advantages that I really like and hope that I can use it with Panda!!!
That used to work, however there were issues with it, which were fixed in the svn version of Panda, and then pro-rsoft updated Chicken to work in the new way. Problem is this was done some time ago when it was thought that a new version of Panda was imminent, but it still hasn’t been released, and I don’t really want to revert Chicken temporarily. Effectively, the files being written out will only work with the 1.7.x series of Panda. Now there are two solutions - go back to using an earlier version of Chicken, R74 should do it, or upgrade to a cvs version of Panda! Sorry about that - it had completely skipped my mind, and it is certainly not ideal I know.
If I understqnd correctly, you’re the programmer of the chicken converter!
If yes, I must say: “Bravo”, “Congrats” or even “Nazdrovia” or whatever you want…
If chicken wasn’t here, I think that I would have completly bypassed Panda3d while I was searching for the engine that I was going to use…
That being said
I shall wait for the next 1.7 Panda release.
Guess it will be for very soon!
That error is usually caused by packed textures, though sometimes a procedural texture can cause it as well, and I expect a texture that has a ‘None’ type as well. Only textures saved to disk are supported, so I would check that is the case. (Sorry for the delay responding - just had a super hairy, and internet-less weekend. And I really should add better error handling in that regard, so it outputs an error message.) If its none of those I might have to look deeper, but that is my off-the-cuff reading of that error message.
Hmmm… … !
Now it’s working with R74. I’m absolutly not able to tell what I did to solve it as I restart the whole texturing process from scratch!
But now I’m facing a new little problem which bring to a new question
Keeping it simple, let’s assume I’m having a cube and I’d like to apply two textures on it. I re-sized both textures in Blender (32 by X and Y).
Between these two textures I’m using a grayscale image which determine where my first texture should be visible and where the second one should. Of course that grayscale image is keeping its original size of 1 for X and Y.
While rendering the cube in Panda, the two textures appear where they should (well seperated by the grayscale image) but Panda kept a scale of one by one where it should be 32 by 32.
I found how to rescale the textures but that’s assume that I apply the textures directly within Panda which can be quiet a hard job for sofisticate objects.
So, here is my question (finally)
Am I missing something in Blender or should I really load the textures using panda ?
I think you are referring to Blenders ability to scale textures independently of the UV mapping, if so then that isn’t supported in R74; rather amusingly it was added in R75, along with the stuff that breaks multi-texturing in non-cvs versions of Panda… well, maybe not that amusing, but you get the idea! The easiest way around this would be to scale the uv-s directly, leaving blenders scale set to 1 - that would obtain the correct result. Alternatively get a cvs version or just wait, as it will all start working with Panda 1.7.0. Again I know this isn’t ideal, and sorry for the sillyness!