ObjReader Community

WIP => WIP => Topic started by: Patrice Terrier on July 03, 2019, 06:33:51 pm

Title: Rocket Engine
Post by: Patrice Terrier on July 03, 2019, 06:33:51 pm
Here is a rough translation of this Sketchfab model
https://sketchfab.com/3d-models/rocket-engines-6fba4dbbb9444e99ba68425bcb3a7f70
Title: Re: Rocket Engine
Post by: Michael Lobko-Lobanovsky on July 03, 2019, 07:56:46 pm
Hehe no Patrice,

Your .OBJ model has serious defects in Engine2 mesh UV mapping.

Below is a better version exported from the original .FBX loaded in Blender.

Enjoy! :)

(Note: Wavefront Object glossiness is the inverse of PBR roughness!)
Title: Re: Rocket Engine
Post by: Patrice Terrier on July 03, 2019, 08:46:38 pm
Thanks!

As i said, that was a rough/quick translation, but the resolution is too low to spend time on it.
Title: Re: Rocket Engine
Post by: Michael Lobko-Lobanovsky on July 03, 2019, 09:48:37 pm
... the resolution is too low to spend time on it.

This is evidently due to the original FBX using dynamic tessellation of curved surfaces that the OBJ exporter translates into editable polies too coarsely. It is a typical deficiency of cheap and careless OBJ exporters; they translate Besier control points into poly vertices literally rather then accept the user's parameter to set how smooth the interpolation between the control points should be (i.e. how many polies the user wants the curved surface to be approximated with).

See below how Autodesk's original FBX Review viewer interprets the curves. The top screenie exemplifies literal translation of control points, the bottom one, smooth interpolation between the control points.

Funny that the Wavefront Object Specification allows both Besier curves and NURBS surfaces to be encoded precisely in the OBJ files. ;)
Title: Re: Rocket Engine
Post by: Michael Lobko-Lobanovsky on July 03, 2019, 11:25:03 pm
And that is all very annoying indeed! :(

Controlled tessellation was invented in the 20th century. Even I, then nearly illiterate in 3D, was able to implement it in immediate OpenGL in my naive Quake III renderer code written in an ancient version of FBSL BASIC!

What can I say about Blender's FBX-to-OBJ exporter written by modern Generation Z eggheads in the year of 2018?! @#$%^&! >:(