yaoyansi

yaoyansi

About Me

Connect

LOCATION
Not Specified
WEBSITE

Houdini Skills

Availability

Not Specified

Recent Forum Posts

Alembic file with multi-uvset cause crash Oct. 14, 2015, 12:40 a.m.

Alembic file with multi-uvset cause crash
Hi all,
I export an alembic file with the following command
cmds.AbcExport(j=' -writeUVSets file=“test-uvs.abc”')
This abc file is attached.

and I make sure that the uvset are exported to abc file, this is the abcecho message for this abc file
Object name=/objects:pPlane1/objects:pPlaneShape1
CompoundProperty name=.geom;schema=AbcGeom_PolyMesh_v1
ScalarProperty name=.selfBnds;interpretation=box;datatype=float64_t;arraysize=6;numsamps=1
ArrayProperty name=P;interpretation=point;datatype=float32_t;arraysize=9;numsamps=1
ArrayProperty name=.faceIndices;interpretation=;datatype=int32_t;arraysize=16;numsamps=1
ArrayProperty name=.faceCounts;interpretation=;datatype=int32_t;arraysize=4;numsamps=1
CompoundProperty name=uv;schema=
ArrayProperty name=.vals;interpretation=vector;datatype=float32_t;arraysize=9;numsamps=1
ArrayProperty name=.indices;interpretation=;datatype=uint32_t;arraysize=16;numsamps=1
ArrayProperty name=N;interpretation=normal;datatype=float32_t;arraysize=16;numsamps=1
CompoundProperty name=.arbGeomParams;schema=
CompoundProperty name=map1;schema=
ArrayProperty name=.vals;interpretation=vector;datatype=float32_t;arraysize=9;numsamps=1
ArrayProperty name=.indices;interpretation=;datatype=uint32_t;arraysize=16;numsamps=1
CompoundProperty name=uvSet2;schema=
ArrayProperty name=.vals;interpretation=vector;datatype=float32_t;arraysize=9;numsamps=1
ArrayProperty name=.indices;interpretation=;datatype=uint32_t;arraysize=16;numsamps=1

Then I create alembic node in houdini14.0 and import this abc file
In alembic node, the default value of “Load As” option is “Alembic Delayed Load Primitives”. But if I set “Load As” option to “Load Houdini Geometry” it causes a crash.

Here is the crash log:
Crash report from yaoys; Houdini FX Version 14.0.201.13
Uptime 3527 seconds
Wed Oct 14 12:10:52 2015
Caught signal 11

Traceback from 31775 ThreadId=0x7f696ea94860
AP_Interface::coreDumpChaser(UTsignalHandlerArg) <libHoudiniUI.so>
AP_Interface::si_CrashHandler::chaser(UTsignalHandlerArg) <libHoudiniUI.so>
signalCallback(UTsignalHandlerArg) <libHoudiniUT.so>
UT_Signal::UT_ComboSignalHandler:perator()(int, siginfo*, void*) const <libHoudiniUT.so>
UT_Signal::processSignal(int, siginfo*, void*) <libHoudiniUT.so>
<libpthread.so.0>
<libc.so.6>
<libc.so.6>
GA_ATIString::addStringReference(char const*) <libHoudiniGEO.so>
GA_ATIString::setString(long, char const*, int) <libHoudiniGEO.so>
(anonymous namespace)::fillArb(GABC_Houdini::GABC_GEOWalker&, GABC_Houdini::GABC_IObject const&, Alembic::Abc::v7::ICompoundProperty, Alembic::Abc::v7::ISampleSelector&, long, long, long) <libHoudiniGEO.so>
(anonymous namespace)::makePolyMesh(GABC_Houdini::GABC_GEOWalker&, GABC_Houdini::GABC_IObject const&) <libHoudiniGEO.so>
GABC_Houdini::GABC_GEOWalker::process(GABC_Houdini::GABC_IObject const&) <libHoudiniGEO.so>
(anonymous namespace)::ArchiveCacheEntry::walkTree(GABC_Houdini::GABC_IObject const&, GABC_Houdini::GABC_Util::Walker&) <libHoudiniGEO.so>
GABC_Houdini::GABC_Util::Walker::walkChildren(GABC_Houdini::GABC_IObject const&) <libHoudiniGEO.so>
GABC_Houdini::GABC_GEOWalker::process(GABC_Houdini::GABC_IObject const&) <libHoudiniGEO.so>
(anonymous namespace)::ArchiveCacheEntry::walkTree(GABC_Houdini::GABC_IObject const&, GABC_Houdini::GABC_Util::Walker&) <libHoudiniGEO.so>
GABC_Houdini::GABC_Util::Walker::walkChildren(GABC_Houdini::GABC_IObject const&) <libHoudiniGEO.so>
(anonymous namespace)::ArchiveCacheEntry::walkTree(GABC_Houdini::GABC_IObject const&, GABC_Houdini::GABC_Util::Walker&) <libHoudiniGEO.so>
GABC_Houdini::GABC_Util::walk(std::string const&, GABC_Houdini::GABC_Util::Walker&) <libHoudiniGEO.so>
SOP_AlembicIn2::cookMySop(OP_Context&) <SOP_Alembic.so>
SOP_Node::cookMe(OP_Context&) <libHoudiniOP2.so>
OP_Node::cook(OP_Context&) <libHoudiniPRM.so>
SOP_Node::getCookedGeoHandle(OP_Context&, int) <libHoudiniOP2.so>
OBJ_Node::getDisplayGeometryHandle(OP_Context&, int, OP_Node**) <libHoudiniOP3.so>
JEDI_View:puiUpdateNodeInfo(OH_NodeInfo*) <libHoudiniAPPS3.so>
OH_OpHandler:puiUpdateData() <libHoudiniUI.so>
OP3D_View::doUpdate() <libHoudiniAPPS3.so>
JEDI_View:puiUpdateData() <libHoudiniAPPS3.so>
OH_OpHandler::trigger() <libHoudiniUI.so>
UI_Queue::processNextEvent() <libHoudiniUI.so>
UI_Queue::drain() <libHoudiniUI.so>
UI_Queue::eventLoop() <libHoudiniUI.so>
main <libHoudiniUI.so>
<libc.so.6>
_start <houdini-bin>



My question is:
How to use multi-uv with alembic in houdini?

Cheers
yao

How to get the user-defined attribute of Alembic file in H Oct. 13, 2015, 4:07 a.m.

How to get the user-defined attribute value of Alembic file in Houdini?

Hi all,
I am new to Houdini, and I'm sorry if this question is too simple.

I use the following function to add user attributes on node:
def addAttrs():
nodeName = ‘|objects:pCylinder1|objects:pCylinderShape1’

# compound attribute
cmpAttrName = ‘crease__objects_cyCreaseSet0’
cmds.addAttr(nodeName, ln=cmpAttrName, sn=cmpAttrName, at='compound', readable=True, writable=True, storable=True, keyable=True, numberOfChildren=6)

# child attribues
attrName = cmpAttrName+'name'
cmds.addAttr(nodeName, ln=attrName, sn=attrName, dt='string', readable=True, writable=True, storable=True, keyable=True, parent=cmpAttrName)
attrName = cmpAttrName+'owner'
cmds.addAttr(nodeName, ln=attrName, sn=attrName, dt='string', readable=True, writable=True, storable=True, keyable=True, parent=cmpAttrName)
attrName = cmpAttrName+'level'
cmds.addAttr(nodeName, ln=attrName, sn=attrName, at='float', readable=True, writable=True, storable=True, keyable=True, parent=cmpAttrName)
attrName = cmpAttrName+'edgecnt'
cmds.addAttr(nodeName, ln=attrName, sn=attrName, at='long', readable=True, writable=True, storable=True, keyable=True, parent=cmpAttrName)
attrName = cmpAttrName+'edges'
cmds.addAttr(nodeName, ln=attrName, sn=attrName, dt='Int32Array', readable=True, writable=True, storable=True, keyable=True, parent=cmpAttrName)
attrName = cmpAttrName+'vertex'
cmds.addAttr(nodeName, ln=attrName, sn=attrName, dt='Int32Array', readable=True, writable=True, storable=True, keyable=True, parent=cmpAttrName)


And I export the alembic file from Maya with the following command:
cmds.AbcExport(jobArg=' -frameRange 1 2 -userAttrPrefix “crease__” -file “test.ma.crease__.abc”')


I use abcecho command to confirm that the user-defined attributes are exported into abc file:
Object name=/objects:pCylinder1
CompoundProperty name=.xform;schema=AbcGeom_Xform_v3
Object name=/objects:pCylinder1/objects:pCylinderShape1
CompoundProperty name=.geom;schema=AbcGeom_PolyMesh_v1
ScalarProperty name=.selfBnds;interpretation=box;datatype=float64_t;arraysize=6;numsamps=1
ArrayProperty name=P;interpretation=point;datatype=float32_t;arraysize=42;numsamps=1
ArrayProperty name=.faceIndices;interpretation=;datatype=int32_t;arraysize=200;numsamps=1
ArrayProperty name=.faceCounts;interpretation=;datatype=int32_t;arraysize=60;numsamps=1
CompoundProperty name=.arbGeomParams;schema=
CompoundProperty name=.userProperties;schema=
ScalarProperty name=crease__objects_cyCreaseSet0name;interpretation=;datatype=string;arraysize=1;numsamps=1
ScalarProperty name=crease__objects_cyCreaseSet0owner;interpretation=;datatype=string;arraysize=1;numsamps=1
ScalarProperty name=crease__objects_cyCreaseSet0level;interpretation=;datatype=float32_t;arraysize=1;numsamps=1
ScalarProperty name=crease__objects_cyCreaseSet0edgecnt;interpretation=;datatype=int32_t;arraysize=1;numsamps=1
ArrayProperty name=crease__objects_cyCreaseSet0edges;interpretation=;datatype=int32_t;arraysize=20;numsamps=1
ArrayProperty name=crease__objects_cyCreaseSet0vertex;interpretation=;datatype=int32_t;arraysize=40;numsamps=1
ScalarProperty name=crease__objects_cyCreaseSet1name;interpretation=;datatype=string;arraysize=1;numsamps=1
ScalarProperty name=crease__objects_cyCreaseSet1owner;interpretation=;datatype=string;arraysize=1;numsamps=1
ScalarProperty name=crease__objects_cyCreaseSet1level;interpretation=;datatype=float32_t;arraysize=1;numsamps=1
ScalarProperty name=crease__objects_cyCreaseSet1edgecnt;interpretation=;datatype=int32_t;arraysize=1;numsamps=1
ArrayProperty name=crease__objects_cyCreaseSet1edges;interpretation=;datatype=int32_t;arraysize=3;numsamps=1
ArrayProperty name=crease__objects_cyCreaseSet1vertex;interpretation=;datatype=int32_t;arraysize=6;numsamps=1
ArrayProperty name=N;interpretation=normal;datatype=float32_t;arraysize=200;numsamps=1


I'm going to use these attributes to control the softness of the mesh edges in rendering. But I don't know how to get these user-defined attributes in Houdini.
I use Houdini 12~14, and it seems that Houdini doesn't show the user-defined attributes by default, but I'm not sure about this.

So, my question is:
Could you tell me how to get these user-defined attributes in Houdini?

Cheers
yao




P.S.

I can access the user attributes with the following scripts:

import _alembic_hom_extensions as abc
print ‘——————’
a = abc.alembicUserProperty('/test.ma.crease__.abc', ‘/objects:pCylinder1/objects:pCylinderShape1’, ‘crease__objects_cyCreaseSet0name’, 1)
print a

b = abc.alembicUserProperty('/test.ma.crease__.abc', ‘/objects:pCylinder1/objects:pCylinderShape1’, ‘crease__objects_cyCreaseSet0edges’, 1)
print b

c = abc.alembicUserProperty('/test.ma.crease__.abc', ‘/objects:pCylinder1/objects:pCylinderShape1’, ‘crease__objects_cyCreaseSet0vertex’, 1)
print c

But, my question is:
Could I connect the user-defined attribute(source attribute) to another node's attribute(destination attribute)? I prefer this way because if the source attribute is changed the destination attribute will be changed synchronously.

Where is the 'Mantra Surface' and 'VOP VEX surface SHOP'? Jan. 26, 2013, 10:24 a.m.

Where is the ‘Mantra Surface’ and ‘VOP VEX surface SHOP’ in Houdini12 ?

hi,all
I'm learning a houdini tutorial.
In the tutorial, the speaker says ‘VOP VEX surface SHOP’ can be found in ‘Mantra Surface’.
I use Houdini12 now, but I can't find ‘Mantra Surface’ and ‘VOP VEX surface SHOP’ in Houdini12.

I don't know what to do now, could you give me any guid?