untitled3000
Hello, 

I'm creating a flip sim in Houdini where the colors of the dynamic object mix. Similar to this:

 

I'd like to transfer the mixing point color of the simulation to maya and use it as an animated albedo texture in an Arnold shader. I've managed to import alembic files with color sets into maya, but only when the alembic file is a single frame. Unfortunately, I haven't had any luck importing multi framed alembic animations with changing topology while retaining point color information. I've done some research on the forums, and from what i gather you're supposed to use the arrayToPointColor node. So far that hasn't given me any results. 

Does anyone have a suggested workflow for something like this? Would I be better off converting the changing point color to a .png sequence in Houdini and then using the sequence as a texture map in maya?

Any help would be much appreciated. 

Thanks
Quote 0 0
pshipkov
This should work well.
Switch the DG evaluation mode and see if this awakens the dependency graph.
I doubt this is the problem, but there is so much trouble seeping out of the PE these days that usually that's my first suggestion when somebody hits an data update/refresh problem.
Quote 0 0
untitled3000
Still no luck. Maybe my setup is off? I've attached a screenshot of my node editor.

Screen Shot 2017-10-29 at 11.47.16 PM.png 

I've went ahead and created a aiUserDataColor node and referenced the color set name as the "color attr name". I then plugged in the aiUserDataColor node as color in my aiStandardShader. 

Could I be setting up the alembic file wrong? I'm just using default ROP alembic output settings. Should I be deleting and/or promoting any attributes? 

Thanks again!
Quote 0 0
pshipkov
I think createColorSet has to be in front of arrayToPointColor.
If you provide me 2-3 frames of the alembic data i can take a look.
Quote 0 0
untitled3000
Definitely! The alembic file is just an exported cache from the Houdini color mix example I posted above (incase you wanted to check out the project as well)  
Quote 0 0
pshipkov
Everything i did:
createNode arrayToPointColor;
setAttr arrayToPointColor1.solidAlpha 1;
connectAttr flipColorMix_AlembicNode.outPolyMesh[0] arrayToPointColor1.inGeometry;
connectAttr flipColorMix_AlembicNode.prop[0] arrayToPointColor1.inRgbaPP;
connectAttr -f arrayToPointColor1.outGeometry particlefluidsurface1.inMesh;
setAttr particlefluidsurface1.displayColors 1;

and it worked just fine in both PE and DG evaluation modes.
Quote 0 0
untitled3000
Awesome!!! That worked!

How would you go by linking that up to an Arnold Shader? From my understanding, you need to create a aiUserDataColor node and plug that into the color attribute of an Arnold Shader. I'm just not sure what to feed the aiUserDataColor node. 

Also, just to be on the same page, when the color is being applied in maya, are we applying the color to points or verts. I'm assuming the gradation in color wouldn't be as smooth on verts?

Thanks again! Very excited to add arrayToPointColor to my workflow! 
Quote 0 0
pshipkov
Search the forums, i am pretty sure this was answered before.
Quote 0 0
untitled3000
Sounds good. Found what I was looking for. Thanks again.
Quote 0 0
untitled3000

Hey, 

I have a followup question related to the arrayToPointColor node. I'd like to apply both my color attribute and my heat map attribute as textures to my material in maya. I have successfully brought in the attributes from houdini to maya. I've been able to see the color and heat map textures by adjusting the prop number on my alembic node. My problem is, I'm not sure how I can apply both attributes at the same time to my material. I'm assuming it has to do with creating multiple color sets, but I've played around for awhile and haven't been able to figure it out. I've also checked out this separate thread (
https://soup-dev.websitetoolbox.com/post/arraytopointcolor-more-than-one-color-set-6371566), but haven't had any luck. 

Also, I've noticed that when I set the "In Rgba PP" parameter on my arrayToPointColor node to Prop 1, Prop 0 will disappear from the alembic node. Any ideas on why this would happen? Is there any way I can recover Prop 0 once it disappears? 

Any help would be much appreciated. 

Thanks

Quote 0 0
pshipkov
I think you need to fallow strictly the required workflow by the renderer you use.
In general you need to create color sets and pump the data inside them.
Recently i shown another member how to do that in another tread.
If you have an example scene i can do it there.
Can record a simple video about the exact steps, because this keeps coming over and over again.
I think the issue is with how badly designed the color sets in Maya are, but regardless of that it affects everything related across the board.

As for disappearing plugs on the Alembic node. This looks like the UI hiding stuff from you, but the actual data and plugs are actually still there, just use the connection editor, or better - a command to make the connection and it should work.
Quote 0 0
untitled3000
Great! I've included a link to a sample alembic file with color and heatmap point attributes. I've also included my maya scene file and screen caps of my node setup, the color render, and the heatmap render. I'm using arnold render, incase that makes any difference. 

Also, the connection editor does the trick with the disappearing plugs! Thanks again.

https://drive.google.com/file/d/1vmzrfTtog1ymLQKewrR586Teni0CB4Ji/view?usp=sharing
Quote 0 0
pshipkov
The prop[1] channel is empty in the allembic you provided, but i simulated a second point color stream in the attached example file.
Rendering custom AOVs is trivial with Arnold. The prop[1] data appears as "colorSet2" AOV in the Arnold RenderView.
Quote 0 0
untitled3000

Sorry, I must have included a different alembic file.

I'm still having some trouble. First, i'm not able to see the alembic model in the maya scene. I made sure the file path was correct. I also tried reimporting the alembic model by going to cache - alembic cache - replace alembic, but then all the soup nodes get removed. Is there a preferred workflow for working with alembic files?

From what I can see, you've created two arrayToPointColor nodes and hook up each prop to the arrayToPointColor's "in RGBA PP" channel. Then you daisy chain them by hooking up the first arrayToPoint Color's out geometry to the others in geometry. I'm a little lost on why you use 2 polyColorPerVertex nodes. 

The Arnold AOVs make sense, but i'm still only able to get "colorSet1" to work and not "colorSet2". 

In your earlier post from this thread on 10/31/17 you listed out the steps you took. I found that really helpful. Any chance you could do the same for this? 

Again, thank you for all your help. 

Quote 0 0
pshipkov
http://www.soup-dev.com/files/forums/render_color_set_with_arnold.mp4
Quote 1 0

Add a Website Forum to your website.