Jump to content

PDC SOP Import/Export for Houdini 10


Ratman

Recommended Posts

Hey gang, I figured I'd post this here too in case someone might miss it.

This is compiled in Windows7 in Houdini 10.0.374, which is the latest production build, all you gotta do is unzip this file in your:

$HOME/dso

Generally $HOME is your "houdini10.0" folder in "My Documents" or "Documents and Settings", unless you're in Vista (I think) or Win7, which would be as:

"C:\Users\USER\Documents\houdini10.0\dso

It seems you're gonna get an "error" when you load the Maya PDC Importer in Houdini, but from what I saw is that it's just telling you that you're missing a PDC file, so you gotta import something and you'll be fine, also make sure you turn on your point display or check your details view, or else you'll be trying to figure out what's broken(like I did for 10 minutes B-D ).

Let me know if something doesn't work for someone!

Cheers!

-Rick

Edit: now with more Houdini 10.0.295!

PDC_SOP_h10.0.374_v1.zip

PDC_SOP_vh10.0.295.zip

Link to comment
Share on other sites

(Showing my ignorance...) What is PDC?

Dave

Pretty Destructive Crap :ph34r:

It's actually just a point cache, Maya particle's use this for it's caching. You can use this to go from Houdini to Maya to Houdini when using particles, or point data itself.

Also I think it's Point Data Cache format. ( I think... )

Link to comment
Share on other sites

And for those who aren't following at the SESI forums...

Seems to sort of work... but it appears to only bring in position values. Is there a specific version of Maya that these .pdcs should be working with? I'm using 2008.

- I first tried exporting the particles from houdini, and then in maya created a particle and told it to read the cache from houdini. In the component editor there were no attributes present except position

- I then tried caching out the particles from maya first, and then writing the particles from houdini to overwrite the particles from maya. This results in the first few particles having vel, mass, lifespan, and radius that matched the settings in maya on the last frame of the cache, and the remaining particles that did not exist in Maya having no values for these attributes.

- I've tried both using pscale, and radiusPP, and trying both as point and then vertex attributes. All to no avail.

Link to comment
Share on other sites

Guest xionmark

And for those who aren't following at the SESI forums...

I downloaded the Maya PLE, and was able to write out PDC cache. The dump_PDC utility is reading everything fine, including attributes. Don't have time until later this week but I'm sure it's all working, should be able to get an example to you.

As far as the filename convention used for the PDC files ... hmmm. Not sure I'm following that one.

Link to comment
Share on other sites

As far as the filename convention used for the PDC files ... hmmm. Not sure I'm following that one.

I think he means the extension, the exporter SOP is missing an extension flag, so it just shows up as "untitled", when it should be something like "untitled.pdc".

That can probably be fixed easily though, as for testing out the I/O from Maya and Houdini and so forth, I'll try to see what I can figure out tonight.

I think we're gonna have to get this thread centralized somewhere :blink:

Link to comment
Share on other sites

Guest xionmark

I think he means the extension, the exporter SOP is missing an extension flag, so it just shows up as "untitled", when it should be something like "untitled.pdc".

That can probably be fixed easily though, as for testing out the I/O from Maya and Houdini and so forth, I'll try to see what I can figure out tonight.

I think we're gonna have to get this thread centralized somewhere :blink:

No not the extension, or the default filename in the SOP.

It's the frame numbering in the PDC file name format.

earth:/tmp> ls particleShape1.*
particleShape1.1000.pdc  particleShape1.2250.pdc  particleShape1.3250.pdc  particleShape1.4500.pdc  particleShape1.5500.pdc
particleShape1.1250.pdc  particleShape1.2500.pdc  particleShape1.3500.pdc  particleShape1.4750.pdc  particleShape1.5750.pdc
particleShape1.1500.pdc  particleShape1.250.pdc   particleShape1.3750.pdc  particleShape1.5000.pdc  particleShape1.6000.pdc
particleShape1.1750.pdc  particleShape1.2750.pdc  particleShape1.4000.pdc  particleShape1.500.pdc   particleShape1.750.pdc
particleShape1.2000.pdc  particleShape1.3000.pdc  particleShape1.4250.pdc  particleShape1.5250.pdc

Below is an example of the output of the dump utility:

earth:/tmp> dump_PDC particleShape1.5750.pdc
dump_PDC -  ver. 1.0.0 -  Digital Cinema Arts (C) 2008
Dumping Maya PDC File

Version: 1.23
Maya_PDC_File::readHeader(): pdc_header.format = PDC 
Maya_PDC_File::readHeader(): pdc_header.formatVersion = 1
Maya_PDC_File::readHeader(): pdc_header.byteOrder = 1
Maya_PDC_File::readHeader(): pdc_header.extra1 = 0
Maya_PDC_File::readHeader(): pdc_header.extra2 = 0
Maya_PDC_File::readHeader(): pdc_header.numParticles = 91
Maya_PDC_File::readHeader(): pdc_header.numAttributes = 17

Maya_PDC_File::readAllData()
Maya_PDC_File::readAllData(): attribute number = 0
Maya_PDC_File::readAllData(): pdc_data.attrNameLength = 10
Maya_PDC_File::readAllData(): pdc_data.attrName = lifespanPP
Maya_PDC_File::readAllData(): data_type = 3

<SNIP>

Maya_PDC_File::readAllData(): pdc_data.attrNameLength = 8
Maya_PDC_File::readAllData(): pdc_data.attrName = position
Maya_PDC_File::readAllData(): data_type = 5
Maya_PDC_File::readAllData(): pdcDataVectorArray - num_particles: 91
Maya_PDC_File::readAllData(): pdcDataVectorArray - size: 0

Finished dumping PDC data

Link to comment
Share on other sites

No not the extension, or the default filename in the SOP.

What I read elsewhere on the net is that Maya's smallest unit of time is 1/6000th of a second. 24 frames per second 6000/24 =250 so that's 250 "ticks" per frame.

When I was writing out in Houdini, I was caching as particleShape1.`$F*250`.pdc

Link to comment
Share on other sites

Guest xionmark

Hello,

Got a chance to look at this today, it's working as advertised, tested on 64 bit Linux. The attributes are being exported correctly from Houdini and importing them just fine as well from Maya. The attributes being exported are Houdini's typical particle data, what Maya does with it I have no idea. The guys I wrote this for used it successfully in production, that's all I know. I suppose I could have it export any point attribute data and leave the naming/type up to the user ...

Here are the attributes being exported:


            attr.attrName = "v";
            attr.attrName = "N";
            attr.attrName = "age";
            attr.attrName = "pscale";
            attr.attrName = "radius";
            attr.attrName = "force";
            attr.attrName = "Alpha";
            attr.attrName = "uv";
            attr.attrName = "mass";
            attr.attrName = "tension";
            attr.attrName = "sprink";
            attr.attrName = "up";
            attr.attrName = "radiusf";
            attr.attrName = "scalef";
            attr.attrName = "life";
            attr.attrName = "normalf";
            attr.attrName = "edgef";
            attr.attrName = "dirf";
            attr.attrName = "weight";
            attr.attrName = "instancepath";
            attr.attrName = "pstate";
            attr.attrName = "map";

Mark

Link to comment
Share on other sites

  • 4 months later...

I'll have to investigate further when I get the chance... I don't know what I could be doing wrong that the particles weren't importing properly into Maya if they were working for other people.

Sorry, just finally got a chance to look at this again... I'm not sure how to make use of the exporter. If I import some particles from maya, and then export them immediately it gets rid of everything except for the position mass and age... I guess I was kind of hoping that whatever it imports it could also export.

Link to comment
Share on other sites

Guest xionmark

Sorry, just finally got a chance to look at this again... I'm not sure how to make use of the exporter. If I import some particles from maya, and then export them immediately it gets rid of everything except for the position mass and age... I guess I was kind of hoping that whatever it imports it could also export.

Yep, it will, just need a little more time to wrap up a distro, I have it working for a project I just finished up. The first version was based on the way the original requester worked in their pipeline, I never had a chance to revisit it until last month. Of course it's an open source project, so other developers can contribute too ... it's easy manage a source tree with more than one coder. :ph34r:

I have a little time over the next few weeks which I'm hoping to update a number of these projects.

Mark

Link to comment
Share on other sites

Yep, it will, just need a little more time to wrap up a distro, I have it working for a project I just finished up. The first version was based on the way the original requester worked in their pipeline, I never had a chance to revisit it until last month. Of course it's an open source project, so other developers can contribute too ... it's easy manage a source tree with more than one coder. :ph34r:

I have a little time over the next few weeks which I'm hoping to update a number of these projects.

Mark

I'm not a developer :*(

I have no idea how to compile

If there's anything I can do to help out though let me know. Or if you can point me in the direction of where to get started. I'm not sure where the link was to your site where this is all stored.

Edited by Allegro
Link to comment
Share on other sites

Guest xionmark

I'm not a developer :*(

I have no idea how to compile

If there's anything I can do to help out though let me know. Or if you can point me in the direction of where to get started. I'm not sure where the link was to your site where this is all stored.

No, that's cool! Just using the tools and finding problems is great, programmers are notorious for missing the obvious ... :-)

Link to comment
Share on other sites

If for no one else, I'll find this useful since it's a lot easier to search odforce than the sesi forums.

Edited by Allegro
Link to comment
Share on other sites

  • 1 month later...

Hi Mark,

Was curious if you've had a chance to look at this further. I saw you posted something in the mailing list earlier this week. We're currently working on a few effects at work where this would likely be an order of magnitude easier than our current workflow.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...