Jump to content
rom

Lightwave .lwo reader SOP

Recommended Posts

Hi all,

I would like to present a SOP I have created to read a lightwave .lwo (object file)

It can transfer:


  • Multiple object layers,
    All vertex maps (Uvs, Color, Weight, Morph, etc)
    All groups (Part to PrimGroups, point selections to PointGroups)
    All surface data, to be copy parmed to Houdini Materials.

post-8188-133848370569_thumb.jpg post-8188-133848385758_thumb.jpg

geo info

post-8188-133848400974_thumb.jpg

node graph splitting layers

post-8188-13384842594_thumb.jpg

surface data

post-8188-133848433617_thumb.jpg post-8188-133848437323_thumb.jpg

object layers

post-8188-133848464401_thumb.jpg

A big file

post-8188-133848533554_thumb.jpg

Comments, and suggestions would be greatly appreciated.

Edited by rom

Share this post


Link to post
Share on other sites

wow ! looks great .. and since i have yet a lot of assets in that format that sounds really 'interesting' .

seems( from the pics )you have replicated nicely surface properties too .

great job !

one question if you dont mind ; whats the story behind that SOP node ? is it part of a pipeline or just testing houdini ?

Share this post


Link to post
Share on other sites

Awesome!

I once made one myself, but it was kinda sucky - great that someone does this properly.

As one of the few studios with a lw+houdini pipeline, we would surely have a need for this.

Share this post


Link to post
Share on other sites

Wow .. great.

Lightwave is still an essential part of our pipeline.

+1

Share this post


Link to post
Share on other sites

whoa! Terrific! I would really love to test this!

We are heavy LW users around here. Any possibilities you will release this, or is it an in-house asset?

Also, I got a question. How are you using LW´s smoothing value? It looks like a shading value in your screen grabs, but adding as a cusp angle value in a Facet SOP would allow to get the proper OpenGL visualization...I don´t know if that´s what you´re doing or not.

Edited by Netvudu

Share this post


Link to post
Share on other sites

... How are you using LW´s smoothing value? It looks like a shading value in your screen grabs, but adding as a cusp angle value in a Facet SOP would allow to get the proper OpenGL visualization...

At the moment the surface data is just presented as parms, so you can copy, paste it to any other parm as needed.

I am considering a way include a scriptable feature to 'auto-patch' parms in custom ways.

I think it would be better to not be too presumptuous by patching to other Nodes straight off the bat.

I am going to massage this, for the next week or so, before releasing it.

So please offer as many implementation suggestions as possible.

Edited by rom

Share this post


Link to post
Share on other sites

adding as a cusp angle value in a Facet SOP would allow to get the proper OpenGL visualization

I would use a Vertex SOP instead of a Facet SOP to avoid creating new points.

  • Like 1

Share this post


Link to post
Share on other sites

aaand...you´re right edward. Vertex SOP is better. Actually I didn´t realize Facet does create new points. I thought it only happened with the "unique points" feature enabled.

Rom, I see you replicated the Surface Editor´s layer system. Are you adding the procedural and gradient layers into the mix as well, or just Image Maps.

Share this post


Link to post
Share on other sites

Rom, I see you replicated the Surface Editor´s layer system. Are you adding the procedural and gradient layers into the mix as well, or just Image Maps.

gradient texture layer data

post-8188-133856920022_thumb.jpg

Edited by rom

Share this post


Link to post
Share on other sites

this is looking even more interesting .

cannt wait to try lw's surface editor layout in houdini .

maybe .. that might be a ' nice suggestion ' to SESI on building an uberMaterial for quick setups of non-VFX materials .

Great Job ! so far ..

.cheers

Share this post


Link to post
Share on other sites

Here is the procedural texture layer data

I am not so clued up on Houdini Shaders.

Perhaps someone can enlighten me on how to implement this data

post-8188-13386368846_thumb.jpg

an update on the layer data

if needed :

allowing for the creation of PrimGroups base on poly type (Face,SubPatch,Curv, etc)

also to create PrimGroups from Polys with variable vertex counts

post-8188-133863704217_thumb.jpg

Edited by rom

Share this post


Link to post
Share on other sites

Any news on this awesome node ? Is there a possibility to test this little thing ?

Share this post


Link to post
Share on other sites

Yeah, still eagerly awaiting :)

I could probably work on a matching shader that would try and duplicate the basic lightwave material, with basic procedurals and such.

Share this post


Link to post
Share on other sites

it was nice , anyway ..

Share this post


Link to post
Share on other sites

the sop is still some what incomplete, and i'm in some projects at the moment.

Will try to pin it down some more, over the weekend.

Check it out, as is, for the moment, but last I checked, there were quite a few cases where is fails.

It's all python, so If anyone has the inclination to chase bugs, be my guest.

I could probably work on a matching shader that would try and duplicate the basic lightwave material, with basic procedurals and such.

That would be dead cool.

I went from this, to attempting to do the same while leaning C++, and got quite far.

I figure ,Ideally this should be done with HDK, but my skills in that regard are questionable.

I have a good grasp on parsing the .lwo file, so perhaps with some HDK guru's guidance we could make this sop solid.

Lwo.otl

Edited by rom

Share this post


Link to post
Share on other sites

I tried with a couple of files from here http://www.3drender.com/challenges/index.htm

The cabin one errors on load.

The film noir one loads the geometry but errors in new_Color and doesn't load the material info.

The Halloween one loads in ok.

Seems like it wants a c:/tmp folder, too.

I'll torture it a bit more :)

But, cool in any case!

Share this post


Link to post
Share on other sites

Seems like it wants a c:/tmp folder, too.

If I remember correctly, the c:/tmp thing is where a log file is written, in order to trouble shoot. I think there may be a DEBUG tab, where you can change the logging features. As a Mac user, I probably hard coded that path to log file (my bad), I'm sure if you track that down, you can check the log as to where the Sop fails. I figure that this will help solve the 'boundary conditions'.

After going down the rabbit hole on parsing all the material data, It did appear to be far less stable, so this is really the area that needs attention.

I will do my best to give this some more attention soon.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×