animatedfox Show full post »
pshipkov
Put the attached file in the same directory of the abc cache.
I rendered with mental ray - things look correct.

Let me know if anything.
Quote 0 0
pshipkov
To reply to your other question about expanding the arrayToPointColor node.
Maya's API provides methods to read data from any color set in the upstream graph, but we can write in the very last color set in the chain. So one has to insert things in the right place for proper write.
Quote 0 0
animatedfox

Hat in hand I stand here realizing that the big issue was that I just didn't follow your directions properly.
I had a single chain...but the secret was the split...which you clearly stated.
Here is the correct network for anyone else who is interested:
finalNetwork_v001.jpg 
With this connection the RGB color set can be renamed to velocityPV for Arnold to pick it up for motion blur.
One other note was that the attribute in prop[0] was written out of Houdini as a point attribute, not a vertex attribute.
When it is a vertex attribute from Houdini, it works for Alembic to create a color set automatically with the -rcs flag...but I could not get it to work with this setup. So there. 
I really appreciate your taking the time to look into this...obviously since it actually works just like you said, there is no need to add any more functionality to the arrayToPointColor node.
All is good and you rock!
Thank you Peter!!!

Quote 0 0
Kobes
Hey Fox, such a great topic.

I have been trying to implement this same technique and I'm not getting the correct results. I was wondering if you would be able to give some insight into the houdini side and how you have things setup pre alembic export. What attributes you are writing out and what component they are on?

Cheers Jake.
Quote 0 0
Kazaloo

Hi everyone,

since this seems to be the main source of knowledge about this case on the interwebz (multiple people I talked to refered to it as well), I want to post here to give you my experience about it.
The solution showed is not working (anymore?), at the very least even after hours of experimenting around with it never worked for me.
Therefore I want to give people looking for help the two ways we solved the problem at our studio:

1.) instead of exporting the velocity data as vertex or point data, export it directly as vertex color from houdini (make sure the Color is on the vertices, Not the Points. So first you have to convert the velocity data to Point colors, then promote "Cd" from point to vertex.) Make sure you use the colorSet as Motion Vector Source (should be Cd when exporting from Houdini) and (very important!) tick the "Export Vertex Colors" checkbox ON above the Motion Vector Source field

2.) export your meshes as .ass files from houdini if you want to render it in Maya/Arnold (if you have a HtoA license) and import it into Maya via Arnold > StandIn > Create
(Export it from Houdini via a Arnold Render Node and Export it as .ass file instead of rendering it. Make sure you still have the velocity data on the mesh and export it with MotionBlur activated in the Arnold node)

Quote 0 0
pshipkov
Thanks for the tip.

Maaan, rendering of arbitrary data in Maya is such a pain in the bottom.
And all these third party renders suck pretty bad too ...
Anyway.
Quote 0 0
Gabriel

Hello everybody !

Very interesting topic !

I just discovers SOuP as I was looking for rendering alembic changing topology from houdini to arnold.
I first found this tutorial on solidangle support https://support.solidangle.com/display/AFMUG/Motion+Vector+Source#MotionVectorSource-Motionblurandmesheswithchangingtopology
Follow it but can't get any result even with the tutorial's alembic file. (i'm the only one ?)

Then I found this topic and the pshipkov's maya example mapArbitraryAlembicAttribute.ma.zip wich works great.
I successfully rebuild the network in a fresh maya file using the alembic of animatedfox.
But I can't make it work for my own alembic. Here an motion vector aov from arnold (left one mine, right one animated fox)
So I guess I'm doing something wrong on the houdini export.

aov_motion_blur.jpg 

network.jpg 
I can see it in houdini with a color visualizer before export (not if I reimport the abc ( does that mean the ABC has no velocity data  ?).

visualizer_color_v.jpg 


My ROP alembic output is default ( change on frame range and output path).

rop_alembic_output.jpg 

Attribut transfert (source point, destination point).


attribut_transfer.jpg 


Here my "not working" alembic
http://www.partage-facile.com/EUIDO8D2OK/splash.abc.html

Here my not working splash .hip.
http://www.partage-facile.com/4J5ERX74RM/splash.hipnc.html

Here a maya scene file with:
- my not working alembic splash.abc
- the well motion blurred animatedfox's abc http://soup-dev.websitetoolbox.com/file?id=1883698
-soup network

http://www.partage-facile.com/H1FVIHIB1D/map_houdinivelocity_to_arnoldvectormotionblur_with_soup_arraytopointcolor.ma.html

As I'm not sure about abc repathing in maya so i import  sources file from a single folder call D:/motionblur. 



Any idea what i'm missing ? 

Thank a lot for your time  !

 Gabriel

Quote 0 0
pshipkov
There is no velocity data in your alembic file.
I have houdini NC at home and cannot export alembics, but check carefully what you are exporting.
Quote 0 0
Gabriel

Thank pshipkov. 

As you said it was from wrong houdini data export. 

(Anyway I swap to bifrost maya for other reason)


 

 

Quote 0 0
ourouk
Hello, just to give some conclusions to my own experiments.
The following workflow works here. I have to convert v to Cd before exporting abc from Houdini. I never managed to make it work with v only.

From Houdini :
- attributeCopy v > Cd ( do not need to promote it to vertex, neither v, nor Cd )
- clean v ( optionnal )
- export abc ( default options )

In Maya (2016) :
- Import Alembic with "Cache > Alembic Cache > import alembic" Menu
- ( the mesh is imported with a "colorSet" already applied on it, probably due to Color Attr present inside the abc )
- Do Some connections as peter said here :

pshipkov wrote:
abcReader.outPolyMesh -> arrayToPointColor.inGeometry
abcReader.prop[0] -> arrayToPointColor.inRgbaPP
arrayToPointColor.outGeometry -> meshShape.inMesh


- In the meshShape to render, just set "Arnold > Motion Vector Source" to the name of the created color set ( eg : "ColorSet1" as it is created by default for me) and set motion vector scale to 0.1 ( probably due to scene scale difference between Maya & Houdini )


Hope it will help someone, one day :)
cheers


Quote 0 0
pshipkov
Thanks for sharing.

This kind of stuff pauses a lot of people out there, so having it black on white in the public space is great.
Quote 0 0

Add a Website Forum to your website.