[Plugin] Import OBJ with Materials v2.1 20131118
-
@tig said:
Here's v1.1
http://forums.sketchucation.com/viewtopic.php?p=172790#p172790Existing Materials re-used/make variant option added.
Swap Y & Z axes ? Yes/No, option added.thank you!!!!!!!!
-
okies the Swap Z/Y is working perfectly
the sizing is not atm (tried importing OBJ's from trueSpace, UVmapper and Hexagon) it's almost there tho...
Edit
Thanks to the notes inside the Ruby I was able to reset my units to Metres and now things are coming in the right size
-
Hi TIG,
I can't quite tell from your description if your script imports UVs correctly. If you are looking to add this feature, I was working on an OBJ importer awhile ago that imported materials and UVs. If you would like the code, let me know and you can have it. I don't think I'll ever get around to releasing it officially.
Thanks for another great script!
-
@whaat said:
Hi TIG,
I can't quite tell from your description if your script imports UVs correctly. If you are looking to add this feature, I was working on an OBJ importer a while ago that imported materials and UVs. If you would like the code, let me know and you can have it. I don't think I'll ever get around to releasing it officially.
Thanks for another great script!
My tool imports materials and textures. It doesn't deal with UVs as most of the example OBJs I have didn't have that info in their MTLs. Thus any imported material has it's colour and opacity set correctly, AND also has the correct texture added BUT without any UVs scaling etc - it uses the default 10" square version... However if you already have a pre-existing material with a matching name that has UVs set etc it asks if you want to use it or make a new variant - if you answer Yes it uses the existing material...
Am I right in understanding you, that some OBJ/MTLs have UV mapping info ? SUp exported OBJ/MTLs don't seem to ? Please PM me your half-baked UV code and I'll look at incorporating it [with credit to you, as appropriate]... Thanks for the offer.
-
yup UV information is a core part of the OBJ Format.. makes it very useful for transfering between programs, such as Maya to trueSpace to Max....
-
@khai said:
yup UV information is a core part of the OBJ Format.. makes it very useful for transfering between programs, such as Maya to trueSpace to Max....
Where is it stored in the files ?
-
I think it's stored as the VT entries.
ah yes here we go
http://local.wasp.uwa.edu.au/~pbourke/dataformats/obj/ - Full OBJ Format Spec
@unknownuser said:
vt u v w
Vertex statement for both polygonal and free-form geometry. Specifies a texture vertex and its coordinates. A 1D texture requires only u texture coordinates, a 2D texture requires both u and v texture coordinates, and a 3D texture requires all three coordinates. u is the value for the horizontal direction of the texture. v is an optional argument. v is the value for the vertical direction of the texture. The default is 0. w is an optional argument. w is a value for the depth of the texture. The default is 0.
-
@chris fullmer said:
I'm confused Bagatelo. What are you asking? This is a plugin that will import .obj into SU. The inverse would be an .obj exporter.
Chris
Yes, I mistake. I have think about EXPORT model with obj file types. But .3ds is very good.
I try to import this model ( http://www.evermotion.org/modelshop/show_product/sculpture-01-am34/1806/0/0/ ) into sketchup and the plugin don't work properly. Export with 3ds Files from MAX result crash in Sketchup.
FBX files maybe can be de very best option.
-
@khai said:
I think it's stored as the VT entries.
ah yes here we go
http://local.wasp.uwa.edu.au/~pbourke/dataformats/obj/ - Full OBJ Format Spec
@unknownuser said:
vt u v w
Vertex statement for both polygonal and free-form geometry. Specifies a texture vertex and its coordinates. A 1D texture requires only u texture coordinates, a 2D texture requires both u and v texture coordinates, and a 3D texture requires all three coordinates. u is the value for the horizontal direction of the texture. v is an optional argument. v is the value for the vertical direction of the texture. The default is 0. w is an optional argument. w is a value for the depth of the texture. The default is 0.
Thanks - I see it now... wait for update...
-
@bagatelo said:
@chris fullmer said:
I'm confused Bagatelo. What are you asking? This is a plugin that will import .obj into SU. The inverse would be an .obj exporter.
Chris
Yes, I mistake. I have think about EXPORT model with obj file types. But .3ds is very good.
I try to import this model ( http://www.evermotion.org/modelshop/show_product/sculpture-01-am34/1806/0/0/ ) into sketchup and the plugin don't work properly. Export with 3ds Files from MAX result crash in Sketchup.
FBX files maybe can be de very best option.
Since I'm not going to pay $35 for a model of a small statue I can't see how the actual file is structured - looks like it might be very complex though !!! The current OBJ Importersare quite limited...
-
Cool, thanks TIG. I've been using Jim's importer for a long time.
One thing I've encountered with materials. You are assuming that the 'd' tag comes after the Kd tag, but it doesn't necessarily. It can show up anywhere in the list. The obj format doesn't require a specific order. So, if 'd' comes first, the plugin is crashing.
-
Thanks for the info... I'm looking at uv mapping to so a fix might be soon...
I also need to trap mtl's with a texture but no colour [using texture.average_color if no Kd ?]... I am looking at various fixes and other improvements... Please check out the Ruby Forum over the coming days... -
ok for some reason I'm not getting anything at all.
it's asking for the measurements, I see it reading lines at the bottom, it asks me if I want to flip Axis...then nothing appears on screen.edit : testing an idea. I think it's do to with the choice of measurements. hold on...
-
yup it's metres and kilometres.... looks like it's coming in so tiny you can't see it. (Inches, Feet, yards, Miles, Millimetres, Centimetres are working ok)
-
and I'm happy to report the UVmapping is now spot on
-
Tested also and it's working Great!!! Thanks TIG. I tried to import a few Lounge Chairs that I had for Vue in .obj format that crashed SU with the previous importer and the new version handled them flawlessly.
-
I have at last got working - texture mapping, units dialog, YZ-flip, crash avoidance etc etc...
Here's v1.2 http://forums.sketchucation.com/viewtopic.php?p=172790#p172790
Note that the file has been renamed and you need to delete any earlier ones...
It's still not perfect, takes ages with large files and large/complex/smoothed objs come out slow/messy/in_need_of_fixing...
Feedback please.
-
ok I'm getting strange results here. some OBJ's just won't import for some reason. Trying to figure it out atm.. the affected OBJ's will load into other app's ok tho, so I'm not sure what the issue could be.
Update.
the affected OBJ's import with Jim's Ruby ok (apart from flipped Axis and no UVmapping), so it looks like a bug somewhere..
want me to send you a copy of one of the affected OBJ's to test with?
-
@khai said:
ok I'm getting strange results here. some OBJ's just won't import for some reason. Trying to figure it out atm.. the affected OBJ's will load into other app's ok tho, so I'm not sure what the issue could be.
Update.
the affected OBJ's import with Jim's Ruby ok (apart from flipped Axis and no UVmapping), so it looks like a bug somewhere..
want me to send you a copy of one of the affected OBJ's to test with?
Please send... Waht errors do you get in the console etc ?
Jim's code for the faces is effectively the same in both versions ???
-
thats the problem.. I'm not getting any errors (unless I'm doing something wrong the console window is remaining blank).... I'm just not getting the object...
the steps I'm getting :
select Ruby
Select OBJ
asked what unit's. (choose at random here)
Status bar shows the lines being readhere on a file that works I see the OBJ loaded. on a file thats not working, the view jumps, nothing is shown.
asked if I want to flip axis. (y/n)
no change in scene from start. - this also happens if I choose Metres or kilometers with an OBJ that does work ok. (obj will load as Feet...) the affected OBJ's will load with Jim's original script tho shrug
ok.. where do you want me to send the files to? I can't seem to attach them here...
Advertisement