0

ModelViewer Example

Anonymous 4 years ago • updated by anonymous 8 months ago 1
This discussion was imported from CodePlex

xion wrote at 2012-04-04 00:26:

Hi Objo,

fine work all the Helix stuff! Keep it up, please!

I've noticed differences in displaying .obj files, exported from 3dsmax, between the downloadable compiled example of ModelViewer(Nov2011) and the example in the current source dowload package.

The already compiled version displays the .obj file pretty well, including transparency.
The non-compiled recommended source version fails to display some objects correctly.

There's a bunch of code commented out. When I remove the comments some of the code is buggy (list1, fileModelVisual3D.Children)

Could you please give a feedback on it?

Thanks and regards, xion.


objo wrote at 2012-04-05 01:32:

hi xion, can you provide some simple .obj test files that renders incorrectly? We have tried to solve some texture/transparency bugs since the november version, but there is probably some work left... Also, some features of the .obj format (smoothing groups?) are not yet supported.


xion wrote at 2012-04-06 17:29:

Yes I can provide the .obj file. Send you a p.m. with a downloadlink.


objo wrote at 2012-04-07 23:13:

Thanks, I think I found the bug - the "Tr" setting in the material file should set the material opacity to 1-Tr.


xion wrote at 2012-04-08 00:35:

Thats interesting! Is it a buggy .mtl file? I used the latest 3dsmax design to export the file.

Expression Blend (MS) has the same problems on import these obj/mtl files.


objo wrote at 2012-04-08 00:39:

sorry, I thought the error was in the helix interpreter, but then I checked the spec:

d alphadefines the transparency of the material to be alpha. The default is 1.0 (not transparent at all) Some formats use Tr instead of d;Tr alphadefines the transparency of the material to be alpha. The default is 1.0 (not transparent at all). Some formats use d instead of Tr;
Your file has d=1 and Tr=0 for the same material - which should be an error.
I can add a "SkipTransparencyValues" property on the importer if this is a common error for files exported from 3dsmax.

objo wrote at 2012-04-08 01:08:

I have added a "SkipTransparencyValues" property to the "ObjReader". I also added support for smoothing groups.


xion wrote at 2012-04-08 11:44:

Thank you! 2012.2.2.1.46 shows all materials correctly. Thats great!

In 3dsmax the transparency value is called Opacity, which is set to 100% if the material is non-transparent. Maybe here's the clue.


objo wrote at 2012-04-08 13:05:

Good! 

Opacity 100% should be exported as d = 1.0 or Tr = 1.0 if the wikipedia spec is correct. I think the exporter you are using will export d=1.0 and Tr=0.0.

See http://en.wikipedia.org/wiki/Material_Template_Library