Join us at the Oolite Anniversary Party -- London, 7th July 2024, 1pm
More details in this thread.

Python model converters

Discussion and information relevant to creating special missions, new ships, skins etc.

Moderators: another_commander, winston

User avatar
Stormrider
Deadly
Deadly
Posts: 241
Joined: Sat Jan 25, 2014 2:35 am
Location: At work

Re: Python model converters

Post by Stormrider »

gsagostinho wrote:
I am trying to increase the poly count of the asteroid part of the new Imperial Astrofactory.
I think it should be possible to do this you are just subdividing the existing faces not really adding new ones although blender is probably capable of adding new faces to an existing texture and reusing it. I certainly couldn't tell you how though. Blender is really powerful but also pretty complex. I haven't found the UI to be very intuitive in the few months I have been using it.
Commander_X wrote:
I mainly split the UV from how Blender imports it.
Could you please elaborate on this a little bit, even with the mesh converter script you provided I only got one texture defined in the mtl file when trying to convert the astrofactory. The textures aren't even defined in the shipdata.plist so unless you know which textures to use and what faces they are supposed to be applied to I don't see how you got a properly textured model in blender.
Commander_X wrote:
You will have to take your time and merge the triangles to quads following the layout of the UVs in order to be able to properly make changes to the model, otherwise you won't be able to reuse the original textures
I was able to reuse the original texture in my experiment without converting tris into quads. Although I did define them manually I think with a few more steps in wings I could have gotten the exported obj to define the original texture.
Commander_X wrote:
Quads at the assets creation level, and triangles at the engine level!
What struck me were these two quotes:
Barycentric coordinates are not only useful for point in triangle test, but also for other interpolation operations, which are so common in computer graphics, color and texture coordinates to name few.
Dealing with quads is more intuitive when modeling a 3D shape, providing texture coordinates is also much easier,
Seems a bit contradictory, but I am certainly no expert. I'll have to keep this in mind for future models maybe it'll help me produce better UV maps.
Image
Commander_X
---- E L I T E ----
---- E L I T E ----
Posts: 666
Joined: Sat Aug 09, 2014 4:16 pm

Re: Python model converters

Post by Commander_X »

[Sorry for the image abuse, but imagine how many words would've been needed instead ;) ]
Stormrider wrote: Wed Aug 02, 2017 5:11 pm
Could you please elaborate on this a little bit, even with the mesh converter script you provided I only got one texture defined in the mtl file when trying to convert the astrofactory. The textures aren't even defined in the shipdata.plist so unless you know which textures to use and what faces they are supposed to be applied to I don't see how you got a properly textured model in blender.
Here's a bit of visualization of what I meant.
This is how the UVMap was originally imported in Blender
Image

These are the UV maps for materials that I made by selecting the appropriate vertices and giving them specific materials (I've peeked at the texture names):

Chimney tubes
Image

Dome
Image

Fasces
Image

Spike
Image
Stormrider wrote: Wed Aug 02, 2017 5:11 pm
What struck me were these two quotes:
Barycentric coordinates are not only useful for point in triangle test, but also for other interpolation operations, which are so common in computer graphics, color and texture coordinates to name few.
Dealing with quads is more intuitive when modeling a 3D shape, providing texture coordinates is also much easier,
Seems a bit contradictory, but I am certainly no expert. I'll have to keep this in mind for future models maybe it'll help me produce better UV maps.
It might seem contradictory, and I'm also no expert, but here is a simple example where trying to create a so called loop cut (an useful tool in modelling when trying to increase the level of detail) gives this result on an icosphere (not very useful as it only goes across 2 of the faces, not even around the hexagonal shape the two triangles are part of)
Image

... and these results on an UV sphere.
Image
Image

A model already made of triangles makes it harder to "keep" its topology when trying to enhance the details than one made of quads.
User avatar
Stormrider
Deadly
Deadly
Posts: 241
Joined: Sat Jan 25, 2014 2:35 am
Location: At work

Re: Python model converters

Post by Stormrider »

Thanks Commander_X, that's really helpful. I often struggle to get wings to properly apply UV layouts that the python converters will use so I am trying to learn to use blender in hopes that I can get better UV maps.
Image
Post Reply