[Plugin] OBJexporter v3.0 20130131

Re: [Plugin] OBJexporter v1.5 20110323

Postby Alienizer » Sat Apr 02, 2011 12:58 am

I see what you mean. I did a test on that door, and I can't push/pull inward, skp says it's offset is at zero! If I remove the back face of the door and keep 5 sides, then it export find in yours. I don't know why it will not push/pull, I see no triangulation in skp that would show this 3D rectangle door not being 100% rectangular. If one face wasn't the same size, other faces would be triangulated accordingly in skp, and the hidden geom would show that, but it doesn't!!

I was wondering, I know little about skp api but I've look at all the api and I was wondering if there was a better way to get the data. For example, I see that you do not use uvhelper. Maybe there is a way to get the normals and tex uv using an api rather than doing it all over? skp diplays it right, so it must be stored somewhere no?
0
I'm from Mars and moved to Earth to alienize you. Unfortunately, I became humanized.

Alienizer 
 

Re: [Plugin] OBJexporter v1.5 20110323

Postby TIG » Sat Apr 02, 2011 12:22 pm

It doesn't need to have a 'get_uv_helper' method because it gets the UVs directly from the face.mesh using
f_uvs=(1..mesh.count_points).map{|i|mesh.uv_at(i,1)}###1=front
which avoids lots of complex 'getting' otherwise...

Clearly there's something adrift with those bi-folding doors...
If you edit one and select-all you get 18 entities - the correct number of faces+edges for a cuboid so there's no tiny bits of stray geometry to mess with us...
If you edit one of them you you'll find that the door 'slab' is not actually a cuboid - it's slightly skewed - faces don't meet quite at right angles, so PushPulling any vertical face 'inwards' is disallowed. To see this just try making a simple skewed cube and try to PushPull a face 'in' - you can't! because it clashes with connected internal geometry; however, it will PushPull 'out' as there's no clash and it makes two new edges and faces, because the extended side faces aren't coplanar with the original they spring from. This in itself shouldn't mess with the faces' mesh/UV mapping - it's weird...
Also if you edit the door 'slab' so you can see the axes [switch them 'on' and v8 displays the actual component-axes during the edit, rather than the model-axes as in v7] you find it has been made [or at least inserted] 'upside-down' - the Z/blue axes is 'down' not and not 'up' as it ought to be...
This might also be confusing the issue, but again it shouldn't matter.
None of these issues ought to matter but it seems that they do :?
Capture.PNG
0
TIG
User avatar
TIG 
Global Moderator
 

Re: [Plugin] OBJexporter v1.5 20110323

Postby Alienizer » Sat Apr 02, 2011 6:23 pm

I should know better not to ask you about the api, you're the expert, and I'm sure you've already taken the best possible route to make your exporter :oops:

About the door, you're right! I didn't catch that. Is it possible that your exporter reverse the order of the triangle's vertex because the Zaxis is down rather than up? say, p1,p2,p3 becomes p3,p2,p1 but the uv's are for p1,p2,p3, and that's why I get the face normal going in rather then out? My raytrace sees the face material just fine, but becuase it shoots a ray inward (bounce off the face normal) it hits no light, and shows real dark. When I manually reverse p3,p2,p1 to p1,p2,p3, then the bouce of the normal is outward and hits a light, and looks fine.

One suggestion, is it possible to modify your exporter to save the textures all in png rather than mixed jpg, tga etc? no matter what the original was?

Thanks tig for taking the time, I appreciate it.
0
I'm from Mars and moved to Earth to alienize you. Unfortunately, I became humanized.

Alienizer 
 

Re: [Plugin] OBJexporter v1.6 20110402

Postby TIG » Sat Apr 02, 2011 6:54 pm

Clever idea about changing the Texture Files' format on export... :D

Here's v1.6 viewtopic.php?p=294844#p294844
Option to export all Texture files in PNG format added [after the OBJ save path has been given].
'Yes' makes all the exported textures into PNG files: note that the processing might then take a second or two longer as these conversions will take a finite amount of time.
'No' leaves them in their original format [as <v1.6 exports].
0
TIG
User avatar
TIG 
Global Moderator
 

Re: [Plugin] OBJexporter v1.6 20110402

Postby Alienizer » Sat Apr 02, 2011 8:31 pm

WOW that was FAST :ecstatic: Thank you, thank you!

Any thought about the Zaxis and the reverse p1,p2,p3?
0
I'm from Mars and moved to Earth to alienize you. Unfortunately, I became humanized.

Alienizer 
 

Re: [Plugin] OBJexporter v1.6 20110402

Postby TIG » Sat Apr 02, 2011 8:33 pm

Alienizer wrote:WOW that was FAST :ecstatic: Thank you, thank you!
Any thought about the Zaxis and the reverse p1,p2,p3?


That bit was easy - but that other bit is too obscure... because you should be able to have oddly place components and still return correct UVs :?
0
TIG
User avatar
TIG 
Global Moderator
 

Re: [Plugin] OBJexporter v1.6 20110402

Postby Alienizer » Sat Apr 02, 2011 9:09 pm

TIG wrote:but that other bit is too obscure... because you should be able to have oddly place components and still return correct UVs :?


hmmm, but when the vertex are CC instead of CCW, the ray/triangle intersect report the hit being on the back face rather then the front! Is there a way in the exporter to know which is p1, p2 and p3? and save them in the proper order? SKP must do it right for it to be able to display the back face in blue when viewed in mono.
0
I'm from Mars and moved to Earth to alienize you. Unfortunately, I became humanized.

Alienizer 
 

Re: [Plugin] OBJexporter v1.6 20110402

Postby Alienizer » Sun Apr 03, 2011 3:04 am

tig, I found the problem. If you can do a test, (use a model with all faces facing the right way), run your raytrace and for every pixels on the screen, if it hits the back face (turn off back face culling) display that pixel in red, otherwise use some other color, material color perhaps. You will see that using skp exporter, they are fine, using yours, some are not. Now, a quick fix I did was to get the normal <-- cross(edge1,edge2) and then, calculate the normal for p1. Do a dot(Normal, NormalAtP1) and if the result is negative, recreate the face as p3,p2,p1 as oppose to p1,p2,p3, and swap 1 and 3 for the UVs as well. Then your raytrace will show the face correctly. I hope I make sense? Pehars that's how other render do it to correct such problem?
0
I'm from Mars and moved to Earth to alienize you. Unfortunately, I became humanized.

Alienizer 
 

Re: [Plugin] OBJexporter v1.6 20110402

Postby Alienizer » Fri Apr 08, 2011 4:55 am

Sorry to be a pest TIG, but have you had a chance to read me posts? :?
0
I'm from Mars and moved to Earth to alienize you. Unfortunately, I became humanized.

Alienizer 
 

Re: [Plugin] OBJexporter v1.6 20110402

Postby TIG » Fri Apr 08, 2011 8:49 am

I have read it, but I am busy on several other things right now. :(
Why don't you poke around in my code [the #500s lines] and see if you can fix it - then you can have joint (c) credit ;)
0
TIG
User avatar
TIG 
Global Moderator
 

Re: [Plugin] OBJexporter v1.6 20110402

Postby Alienizer » Sat Apr 09, 2011 3:34 am

TIG wrote:I have read it, but I am busy on several other things right now. :(
Why don't you poke around in my code [the #500s lines] and see if you can fix it - then you can have joint (c) credit ;)


:roflmao: If I was as smart as you perhaps I would!
0
I'm from Mars and moved to Earth to alienize you. Unfortunately, I became humanized.

Alienizer 
 

Re: [Plugin] OBJexporter v1.6 20110402

Postby TIG » Sat Apr 09, 2011 1:52 pm

OK I try to make time to look at it next week... :roll:
0
TIG
User avatar
TIG 
Global Moderator
 

Re: [Plugin] OBJexporter v1.6 20110402

Postby Alienizer » Sat Apr 09, 2011 4:39 pm

TIG wrote:OK I try to make time to look at it next week... :roll:


THANK YOU TIG :ecstatic:
0
I'm from Mars and moved to Earth to alienize you. Unfortunately, I became humanized.

Alienizer 
 

Re: [Plugin] OBJexporter v1.6 20110402

Postby Kralizek » Sun Apr 10, 2011 7:38 pm

Works great for for me, thanks a lot TIG!
0

Kralizek 
 

Re: [Plugin] OBJexporter v1.6 20110402

Postby Immer » Sat Apr 16, 2011 1:08 am

Thanks TIG, this is an incredibly useful plugin, the most reliable obj-exporter I've tried.

I have one feature request though - could you add an option to export faces with distorted textures using the original texture and just save the "distorted" UV coordinates in the .obj file? As it is now doing something as simple as exporting a spherically-mapped globe can generate hundreds of distorted texture files and a correspondingly complicated .obj file, not exactly ideal for loading into another program.

I've modified version 1.1 to normalize the UVQ coordinates before export and it seems to work fine, it would be nice to have access to the more recent features though so I'm sending you the change in hopes that you'll incorporate it into the next version

the relevant change was changing the line
f_uvs=(1..mesh.count_points).map{|i|mesh.uv_at(i,1)}####1=front
to
f_uvs=(1..mesh.count_points).map{|i|flattenUVQ(mesh.uv_at(i,1))}####1=front
where flattenUVQ is defined as
def flattenUVQ(uvq)
return Geom::Point3d.new((uvq.x/uvq.z), (uvq.y/uvq.z), 1.0)
end

Thanks a bunch!
0

Immer 
 

Re: [Plugin] OBJexporter v1.6 20110402

Postby TIG » Sat Apr 16, 2011 5:06 pm

Sketchup's own OBJexporter also makes individual 'distorted' images when a texture has been 'distorted' by UV mapping - simple rotations or scaling shouldn't produce multiple images.
I added the feature to mimic it because otherwise you don't get the correct 'distortion' - I have previously tried the very method you outline in your code snippet but it never gave satisfactory results. The flattenUVQ method is actually in the code 'unused' [until the more recent updates that make distorted images...].
A distorted texture has 4 uvs but a triangulated mesh makes just 3 per facet ??
0
TIG
User avatar
TIG 
Global Moderator
 

Re: [Plugin] OBJexporter v1.6 20110402

Postby Immer » Sat Apr 16, 2011 10:52 pm

Yeah, I had noticed and used the flattenUVQ method provided - I figured it was something you had brought in from someone else's code but didn't use. I didn't see it in the latest version so I thought I'd include it in case you didn't have an archive of older versions.

Don't get me wrong, it's awesome that you've managed to export non-linearly distorted faces accurately, however for many situations a linear approximation is preferable, especially if lots of additional textures or a complicated group layout present problems - like if you intend to use the exported object in a game engine, or want to fine-tune the UV mapping in another program. It may even be what was actually intended: for example UVTools' spherical map apparently uses distorted textures when linear interpolation is the correct method. In fact I'm not sure it's even *possible* to specify a lineraly distorted face in Sketchup. I've yet to find a way to, for example, squeeze a rectangular texture onto a trapezoid so the edges and center-points line up perfectly, and that's UV mapping 101.

All I'm suggesting is a checkbox on the option screen to choose between the accurate method and the "clean" one, it should just be a matter of changing the logic to
Code: Select all
if "face is distorted"     *AND* "use accurate method"
   create accurate texture
   export face using accurate texture
else
   output face with normalized UVs # normalizing should have no effect on non-distorted faces
0

Immer 
 

Re: [Plugin] OBJexporter v1.6 20110402

Postby Alienizer » Sun Apr 17, 2011 2:48 am

*** BUG REPORT ***

Using this model from the 3D warehouse...

http://sketchup.google.com/3dwarehouse/ ... 42dfb23a55

it export just fine, except the last line in the mtl file is "newmtl fueg" and nothing else after. The file is lock for writing, and after closing Sketchup, the reminder is written to the mtl file.
0
I'm from Mars and moved to Earth to alienize you. Unfortunately, I became humanized.

Alienizer 
 

Re: [Plugin] OBJexporter v1.6 20110402

Postby TIG » Sun Apr 17, 2011 1:43 pm

It is a 9Mb SKP and makes an OBJ file with 41 million lines of code so taking 5min+ to complete isn't surprising!
It worked fine for me...
The only 'error' was it didn't write '#EOF' into the end of the MTL file but that's just for me so I know it's done all materials [but it had?]
0
TIG
User avatar
TIG 
Global Moderator
 

Re: [Plugin] OBJexporter v1.6 20110402

Postby Alienizer » Sun Apr 17, 2011 4:42 pm

TIG wrote:It is a 9Mb SKP and makes an OBJ file with 41 million lines of code so taking 5min+ to complete isn't surprising!
It worked fine for me...
The only 'error' was it di dn't write '#EOF' into the end of the MTL file but that's just for me so I know it's done all materials [but it had?]


I let mine site all night for 9 hours and the last line of the mtl file still was "newmtl fueg", and the exporter stutus said it was done in 66 secs. So I closed Sketchup and that commited the buffer to the mtl file and it was then complete!
0
I'm from Mars and moved to Earth to alienize you. Unfortunately, I became humanized.

Alienizer 
 

Re: [Plugin] OBJexporter v1.6 20110402

Postby TIG » Sun Apr 17, 2011 5:16 pm

Strange - might be a memory issue ?
Also the missing [but not fatal] '#EOF' in the MTL was puzzling as there were no error messages ???
If I get to the bottom of it I'll let you know.
0
TIG
User avatar
TIG 
Global Moderator
 

Re: [Plugin] OBJexporter v1.6 20110402

Postby Alienizer » Sun Apr 17, 2011 5:46 pm

TIG wrote:Strange - might be a memory issue ?
Also the missing [but not fatal] '#EOF' in the MTL was puzzling as there were no error messages ???
If I get to the bottom of it I'll let you know.


This is the second model it did this. The first one, I thought it was Sketchup because when I closed it, then file became complete. I don't remember which one it was! I know the file doesn't get closed because it has a write lock on it until you close Sketchup, even though the exporter is done without any errors!

I have a suggestion :oops: Can you incorporate the fix reverse back face material in the exporter? Perhaps add a checkbox for that opton? Maybe it's faster to do it as it goes then using both plugins? I'm not the expert so I don't know.

Thanks TIG, your exporter is by far the best the way it is.
0
I'm from Mars and moved to Earth to alienize you. Unfortunately, I became humanized.

Alienizer 
 

Re: [Plugin] OBJexporter v1.6 20110402

Postby Alienizer » Fri May 20, 2011 8:05 pm

TIG, does your exporter use the object axis to orient the triangle? The reason I ask is, if I change the axis from blue up to blue down in a group, the triangle face is reversed when exported, and the ray/triangle test shows that it hit the backface when in fact it did not! Same happen with the SK obj exporter. Any idea? thanks.
0
I'm from Mars and moved to Earth to alienize you. Unfortunately, I became humanized.

Alienizer 
 

Re: [Plugin] OBJexporter v1.6 20110402

Postby xlntgraphix » Wed May 25, 2011 1:06 am

Thanks TIG! I'm new at this (less than a week) but this is exactly what I'll need for my 1st project. I still haven't really grasped the why to choose "group -vs- component" strategies. Now, in an above reply, it seems you were adding a "when to or whether to" aspect, where exporting is concerned. Have I mis-understood you? Could you please clarify? Again THANKS for this awesome plug-in. -XLNTgraphix
0

xlntgraphix 
 

Re: [Plugin] OBJexporter v1.6 20110402

Postby tichit » Sun May 29, 2011 2:09 pm

Thank you so much, this plugin is very useful for me.
0

tichit 
 

Re: [Plugin] OBJexporter v1.6 20110402

Postby Alienizer » Sun Jun 19, 2011 1:24 am

One more model that the texture does not export properly but it does with the skp obj exporter...

http://sketchup.google.com/3dwarehouse/ ... vstart=216

Beside that, you rock, so as your exporter, thank you.
0
I'm from Mars and moved to Earth to alienize you. Unfortunately, I became humanized.

Alienizer 
 

Re: [Plugin] OBJexporter v1.6 20110402

Postby remon_v » Wed Jun 29, 2011 9:44 am

Great work on the OBJ exporter :)
So if I understand correctly it is not possible to export quad polygons atm?

Cheers
remon_v
0

remon_v 
 

Re: [Plugin] OBJexporter v1.6 20110402

Postby TIG » Wed Jun 29, 2011 10:46 am

remon_v wrote:Great work on the OBJ exporter :)
So if I understand correctly it is not possible to export quad polygons atm?

Cheers
remon_v
No, all faces are 'triangulated' - which is a requirement for many renderers anyway...
0
TIG
User avatar
TIG 
Global Moderator
 

Re: [Plugin] OBJexporter v1.6 20110402

Postby remon_v » Wed Jun 29, 2011 10:51 am

Yes true, for Octane it is. Why I'm asking is because I want to intrigate SU in my Workflow for architectural modeling. So I want to model the basics in SU and export to Modo, add the organic stuff and render. I just tried accutrans to detriangulate, but it doesn't work for a 100%.
0

remon_v 
 

Re: [Plugin] OBJexporter v1.6 20110402

Postby TIG » Wed Jun 29, 2011 11:33 am

Of course the built-in OBJ-exporter in Sketchup Pro lets you specify triangulation or NOT...
Capture.PNG

Why not get the time limited version and use it for just that [you can run versions in parallel] - the improvements in v8 makes it worth upgrading anyway...
My tool is intended for those 'Free' users who want some OBJ-export capability - but limiting it to triangulation and meters is the price you [don't] pay ;) ...
0
TIG
User avatar
TIG 
Global Moderator
 

SketchUcation One-Liner Adverts

by Ad Machine » 5 minutes ago



Ad Machine 
Robot
 

PreviousNext


 

Return to Plugins

Who is online

Users browsing this forum: ehc2000, tinh, wilszen, zzzbatzzz and 10 guests

Visit our sponsors: