Jump to content

PDC SOP Import/Export for Houdini 10


Ratman

Recommended Posts

Guest xionmark

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.

Hi there,

Yep, I'll have it finished Sunday (tomorrow). I ran into a problem using the GB_AttributeDict class in hopes to make attribute detection a little faster but it ended up not saving any significant time so I'm reverting to the original idea of providing a parameter for the user to indicate which attr's to export.

Mark

Link to comment
Share on other sites

Guest xionmark

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.

Updated source code can be found here:

http://digitalcinemaarts.com/dev/SOP_PDC/src/Houdini_PDC_src_v1.5.0.tar.gz'>http://digitalcinemaarts.com/dev/SOP_PDC/src/Houdini_PDC_src_v1.5.0.tar.gz

Examples files and particle files:

http://digitalcinemaarts.com/dev/SOP_PDC/

Can't compile for Windows, someone else will have to do that ...

Mark

Link to comment
Share on other sites

Updated source code can be found here:

http://digitalcinemaarts.com/dev/SOP_PDC/src/Houdini_PDC_src_v1.5.0.tar.gz'>http://digitalcinemaarts.com/dev/SOP_PDC/src/Houdini_PDC_src_v1.5.0.tar.gz

Examples files and particle files:

http://digitalcinemaarts.com/dev/SOP_PDC/

Can't compile for Windows, someone else will have to do that ...

Mark

THANK YOU

Link to comment
Share on other sites

  • 4 weeks later...

Just a small critique of the node.

It'd be great if you could use * to export all attributes and ^ to exclude specific attributes from the *. I find that it's useful to import particles, tweak an attribute, and export them again, but kind of tedious to type out all the attribute names that need to be exported.

Link to comment
Share on other sites

  • 7 months later...

hey, we are trying to get this plugin working here. We recompiled it on our system(linux) with houdini 11 but it fails on load with this error:

Houdini DSO - error on '/jobs/spriteReimagined_2400746/tools/houdini11.0/dso/SOP_PDC_Export.so'

[PATH]/tools/houdini11.0/dso/SOP_PDC_Export.so: undefined symbol: _ZNK7OP_Node21pushAsPwdAndRunPythonER15PY_CompiledCodeN9PY_Result4TypeERS2_

Houdini DSO - error on '/jobs/spriteReimagined_2400746/tools/houdini11.0/dso/SOP_PDC_Import.so'

[PATH]/tools/houdini11.0/dso/SOP_PDC_Import.so: undefined symbol: _ZNK7OP_Node21pushAsPwdAndRunPythonER15PY_CompiledCodeN9PY_Result4TypeERS2_

maybe its not made for houdini 11? Unfortunately we don't have tons of Houdini knowledge so any help is much appreciated.

thanks!

Link to comment
Share on other sites

Guest xionmark

You wouldn't have been able to compile it without making changes to the source code to accommodate the changes in the HDK for H11. There will be an update available later today, I just have to dig it up out of my archives and post it on our web site. No windows version though, Linux and maybe OSX.

Mark

Link to comment
Share on other sites

Guest xionmark

So I dug up the source code but it's built for H10. I've got most of the importer converted but haven't tested yet. Should be able to get it done by the end of the weekend.

For some reason I thought H11 was going to have support for PDC like they did with MDD (Point Oven) files a few versions ago. I guess not.

hmm ... I should probably make the importer a CMD ... then it can be added to the GEOio file ... or maybe it should be called via Python to avoid the required recompiles ...

:ph34r:

Mark

Link to comment
Share on other sites

  • 3 months later...
  • 3 weeks later...
  • 4 months later...

I've compiled on Linux for H11 with no problems, here's the latest source code if you don't have it:

http://www.digitalcinemaarts.com/dev/SOP_PDC/download/Houdini_PDC_v1.5.1_H11.0.tar.gz

--Mark

Thank you, Mark!

Yes, I've used the same code. And compiling just Maya PDC Import.

Some changes for compiling with VS2005

Renamed all *.C to *.cpp

In SOP_PDC_Import.cpp Add:

#include <stdafx.h>

In Maya_PDC_File.h instead of:

#include <cstdio>
#include <cstdlib>

I've used:

#include <stdio.h>
#include <stdlib.h>

and added:

#include <vector>

I think those changes aren't problems with crashing H11. Probably I should tweak parameters of the compiler and linker. How do you think may I compile for x64 or only for WIN32?

Link to comment
Share on other sites

  • 2 weeks later...
Guest xionmark

I think those changes aren't problems with crashing H11. Probably I should tweak parameters of the compiler and linker. How do you think may I compile for x64 or only for WIN32?

Hello,

I really don't know, sorry, I haven't compiled on Windows for a long time. Whether you use hcustom from the command line (which is what I use to do) or make a Visual Studio project, you'll need to make sure all the flags in the Makefile are passed into the compile process. There are numerous version dependent switches that rely on those flags being set.

--Mark

Link to comment
Share on other sites

  • 1 month later...

Hey and thanks for a great tool. We were just about to use it in a production when we found that maya chrashes when rendering these particles with motion blur within maya. Both Software and VRay seg faults, below is their respective error messages. I've tried to export caches from maya, read them into houdini and export them again and they do work until I start removing attributes but the chrashes are very inconsistent and a cache that works can crash after just closing/opening maya. This combined with the vrays error message seem to implicate that maya makes assumptions about the caches. But I'm really stuck so I would be very grateful for any response.

Software:

maya encountered a fatal error

Signal: 11 (Unknown Signal)

Stack trace:

/lib64/libc.so.6 [0x3d706302d0]

TdynParticleCache::replaceCacheWithCache(TdynAttributeCache&, unsigned int&, TanimTime const&, bool)

TdynParticleCache::copyCacheToDifferentTime(unsigned int&, TanimTime const&, bool, bool)

TdynParticleCache::interpolate(unsigned int&, unsigned int&, TanimTime const&)

TdynParticleCache::interpolateCache(TanimTime const&)

TdynParticleCache::getAttributeCache(TanimTime const&, bool)

TdynParticleShape::restoreCachedAttributes(TdynParticleCache*, TanimTime, bool)

TdynParticleShape::usingCachedAttributes(TdataBlock&, TanimTime, Tstring const*)

TdynParticleShape::computeCount(TdataBlock&)

TdynParticleShape::computePlug(Tplug const&, TdataBlock&)

TdependNode::dbEvaluate(TmsgEval&)

TdagObject::dbEvaluate(TmsgEval&)

TdependNode::mpSafeDbEvaluateWithSet(TmsgEval&)

Tplug::evaluateValue(TdataHandle&, TdataBlock const&, bool) const

TdataBlockDG::value(Tattribute const&)

TdynParticleShape::computePlug(Tplug const&, TdataBlock&)

TdependNode::dbEvaluate(TmsgEval&)

TdagObject::dbEvaluate(TmsgEval&)

TdependNode::mpSafeDbEvaluateWithSet(TmsgEval&)

Tplug::getValue(TdataHandle&, TdataBlock const&, bool, bool, bool) const

TdependNode::getPlugValue(Tplug const&, TdataHandle&, TdgContext const&)

TdependNode::processMessage(Tmsg&)

TdagObject::processMessage(Tmsg&)

TdependNode::mpSafeProcessMessage(Tmsg&)

Tmsg::send()

TmsgPlugValue::send()

TdynParticleAttr::usrAttr(TdynParticleShape*, char const*, TdoubleArray const*&)

TdynParticleAttr::initialize(TdynParticleShape*)

TdynParticleAttr::TdynParticleAttr(TdagObject const*)

TdynParticleInfo::createInfo(TdagObject*)

Vray:

/lib64/libc.so.6 [0x3d706302d0]

MFnParticleSystem::particleIds(MIntArray&) const

particlesGetSortedIds(MFnParticleSystem&, VUtils::PtrArray<int>&)

AnimatedParticlePositionListParam::getVectorListKeyFrame(VUtils::PtrArray<VUtils::Vector>&)

DefInterpolatedVectorListParam::createKeyFrame(double, int)

CreateKeyFrameCb::process(VUtils::VRayPluginParameter*)

VUtils::VRayParameterList::enumParams(VUtils::EnumParamsCallback&)

CreateKeyFrameCb::process(Plugin*)

DefaultPluginManager::enumPlugins(EnumPluginCallback*)

VRayForMayaExporter::createKeyFrame(PluginManager*, double, int, FrameParameters*, int)

VRayMayaRenderer::callCreateKeyframe(double, bool, FrameParameters*, int)

VRayMayaRenderer::advanceTimeAndCreateKeyframes()

VRayMayaRenderer::renderSequence()

VRayMayaRenderer::renderImpl()

VRayMayaRenderer::render(VUtils::VRayVFB*, MayaRenderParams const&)

VRendCmd::doIt(MArgList const&)

THcommandObject::doIt(TargList&)

TmetaCommand::doCommand(TargList&)

Mel_Command_Dispatch_old(SphNode*)

node_exec

sophia_call_executable

SophiaExecutable::evaluate(void*)

TcommandEngine::executeCommand(SophiaExecutable*, void*)

TelfEvalCmd::doCommand(TargList&)

Mel_Command_Dispatch(SphNode*)

node_exec

f_function_entry_node

node_exec

f_function_entry_node

node_exec

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...