Child objects not following animation (GEAR?)
Hey gang, I have a GEAR rig here (hats off to Jeremie for this great tool) that's not very complex but some child objects are not updating when their parent control is animated. However, they follow when I move the parent by hand. Making all children visible all the time or adding local transform expressions, pose constraints, etc. didn't help. After I also moved one of the children manually, their evaluation wakes up and everything works fine for the current session. It falls back to the odd behavoir when I reload the scene or model (tested on different machines). Has anyone experienced this before and am I missing something obvious? I could not reproduce the problem in a simple scene so it may be related to some GEAR magic. Thanks, Michael
Visual feedback from batch rendering.. What's that thing called??
Lst! I want visual feedback during batch rendering.. I can't remember how I do it. It's an app right? What's it called!? yeah rtfm, but I dunno what to look for :-/ Yeah beers on me Yeah yeah yeah P
Re: Visual feedback from batch rendering.. What's that thing called??
feedback, as in -verbose logging? or imfdisp to watch the render happen? On 4 July 2013 13:08, pingo van der brinkloev xsil...@comxnet.dk wrote: Lst! I want visual feedback during batch rendering.. I can't remember how I do it. It's an app right? What's it called!? yeah rtfm, but I dunno what to look for :-/ Yeah beers on me Yeah yeah yeah P
Re: Visual feedback from batch rendering.. What's that thing called??
Is imf_disp what you are looking for? As far as I remember you can use it to display images such as exr files as they are being rendered. S. On 2013/07/04 2:08 PM, pingo van der brinkloev wrote: Lst! I want visual feedback during batch rendering.. I can't remember how I do it. It's an app right? What's it called!? yeah rtfm, but I dunno what to look for :-/ Yeah beers on me Yeah yeah yeah P
Re: Visual feedback from batch rendering.. What's that thing called??
I think this might help you. https://groups.google.com/forum/#!topic/xsi_list/Ut9wGqm6w6Q imf_disp.exe but you have to turn an env variable. On Thu, Jul 4, 2013 at 2:08 PM, pingo van der brinkloev xsil...@comxnet.dkwrote: Lst! I want visual feedback during batch rendering.. I can't remember how I do it. It's an app right? What's it called!? yeah rtfm, but I dunno what to look for :-/ Yeah beers on me Yeah yeah yeah P
test
working?
Test
anybody?
Re: Test
yeah... -M -- Martin Chatterjee [ Freelance Technical Director ] [ http://www.chatterjee.de ] [ https://vimeo.com/chatterjee ] On Thu, Jul 4, 2013 at 2:40 PM, Pingo van der Brinkloev xsil...@comxnet.dkwrote: anybody?
Re: Test
yar. On 4 July 2013 13:40, Pingo van der Brinkloev xsil...@comxnet.dk wrote: anybody?
Re: Test
pong :) On Thu, Jul 4, 2013 at 2:40 PM, Pingo van der Brinkloev xsil...@comxnet.dkwrote: anybody?
Re: Test
Yes, I'm working... Martin On Thu, Jul 4, 2013 at 10:15 PM, patrick nethercoat patr...@brandtanim.co.uk wrote: yar. On 4 July 2013 13:40, Pingo van der Brinkloev xsil...@comxnet.dk wrote: anybody?
Phases in Multi-phase ice-node not being evaluated
Hi, When I set up a multi-phase ice-node according to the specifications set on the webpage linked below in_ctxt.GetEvaluationPhaseIndex( ); returns -1 and I naturally none of the phase switch parts get executed. http://download.autodesk.com/global/docs/softimage2013/en_us/sdkguide/index.html?url=files/cus_icenodes_MultiPhaseCustomICENode.htm,topicNumber=d30e19848 Below is a simplified version of my SubmitEvaluationPhaseInfo and Evaluate callbacks. If you run it, this is the output: # INFO : Reached beginning of Evaluate callback. # INFO : -1 # INFO : Reached multi-threaded part of Evaluate callback And that repeated for every thread. So the part before the phase switch and after is being evaluated, but the part inside of it isn't because ULONG nPhase = in_ctxt.GetEvaluationPhaseIndex( ); apparently returns -1. I've gone over everything 10 times and in my eyes everything is set up correctly, but clearly I'm making a mistake somewhere. I would really appreciate it if somebody experienced would take a look. I've also attached the entire c++ file. Thank you so much guys. SICALLBACK GetTextureColorByUV_SubmitEvaluationPhaseInfo( ICENodeContext in_ctxt ) { ULONG nPhase = in_ctxt.GetEvaluationPhaseIndex( ); // Note: A case statement is needed for each phase we want to define. Each phase should submit one or multiple ports to // process. Be sure to call in_ctxt.SetLastEvaluationPhase() to specify the last phase to process. switch( nPhase ) { case 0: { // Example for pulling a port for evaluation. in_ctxt.AddEvaluationPhaseInputPort( ID_IN_ImagePath ); } case 1: { // Example for pulling a port for evaluation. in_ctxt.AddEvaluationPhaseInputPort( ID_IN_U ); in_ctxt.AddEvaluationPhaseInputPort( ID_IN_V ); // Tells XSI that phase 1 is the last phase to process in_ctxt.SetLastEvaluationPhase(); } break; default: // Abort evaluation if the current phase is not handled return CStatus::Abort; } return CStatus::OK; } SICALLBACK GetTextureColorByUV_Evaluate( ICENodeContext in_ctxt ) { // Code sample to demonstrate how to implement a multi-phase evaluation callback. // Process all phases first. The Evaluate callback is called in single-threading // for each phase declared in the GetTextureColorByUV_SubmitEvaluationPhaseInfo callback. ULONG nPhase = in_ctxt.GetEvaluationPhaseIndex( ); * Application().LogMessage(Reached multi-threaded part of Evaluate callback); * * Application().LogMessage(CString(nPhase));* switch( nPhase ) { // Note: A case statement is needed here for each phase declared in GetTextureColorByUV_SubmitEvaluationPhaseInfo case 0: { CDataArrayString ImagePathData( in_ctxt, ID_IN_ImagePath ); * Application().LogMessage(Reached End of phase);* // Store results in user data ... return CStatus::OK; } case 1: { return CStatus::OK; } break; }; // Note: The last phase is always processed in multi-threading. ULONG out_portID = in_ctxt.GetEvaluatedOutputPortID( ); switch( out_portID ) { case ID_OUT_Color : { // Get the output port array ... CDataArray2DColor4f outData( in_ctxt ); // Get the input data buffers for each port CDataArray2DFloat UData( in_ctxt, ID_IN_U ); CDataArray2DFloat VData( in_ctxt, ID_IN_V ); * Application().LogMessage(Reached multi-threaded part of Evaluate callback);* // We need a CIndexSet to iterate over the data CIndexSet indexSet( in_ctxt ); for(CIndexSet::Iterator it = indexSet.Begin(); it.HasNext(); it.Next()) { // Add code to set output port... CDataArray2DFloat::Accessor USubArray = UData[it]; CDataArray2DFloat::Accessor VSubArray = VData[it]; CDataArray2DColor4f::Accessor outDataSubArray = outData.Resize(it, USubArray.GetCount()); for (ULONG i=0; iUSubArray.GetCount( ); i++) { outDataSubArray[i].PutR(1); outDataSubArray[i].PutG(1); outDataSubArray[i].PutB(1); outDataSubArray[i].PutA(1); } } } break; }; return CStatus::OK; } // GetTextureColorByUV Plugin // Initial code generated by Softimage SDK Wizard // Executed Tue Jul 2 23:47:46 UTC+0200 2013 by Leo // // // Tip: You need to compile the generated code before you can load the plug-in. // After you compile the plug-in, you can load it by clicking Update All in the Plugin Manager. #include xsi_application.h #include xsi_context.h #include xsi_pluginregistrar.h #include xsi_status.h #include xsi_icenodecontext.h #include xsi_icenodedef.h #include xsi_command.h #include xsi_factory.h #include xsi_longarray.h #include xsi_doublearray.h #include xsi_math.h #include xsi_vector2f.h #include xsi_vector3f.h #include xsi_vector4f.h #include xsi_matrix3f.h #include xsi_matrix4f.h #include xsi_rotationf.h #include xsi_quaternionf.h #include xsi_color4f.h #include xsi_shape.h #include xsi_icegeometry.h #include xsi_iceportstate.h #include xsi_indexset.h #include xsi_dataarray.h #include xsi_dataarray2D.h #include lodepng.h #include iostream #include vector // Defines port, group and map identifiers used for registering the ICENode enum IDs { ID_IN_U = 1, ID_IN_V = 2, ID_IN_ImagePath = 3, ID_G_100 = 100, ID_OUT_Color
Re: Test
Pingo van der Brinkloev skrev 2013-07-04 14:40: anybody? Yes effendi?
Re: Phases in Multi-phase ice-node not being evaluated
Oh dear, I just missed a break statement when declaring the phases. Move on, nothing to see here... On Thu, Jul 4, 2013 at 4:11 PM, Leonard Koch leonardkoch...@gmail.comwrote: Hi, When I set up a multi-phase ice-node according to the specifications set on the webpage linked below in_ctxt.GetEvaluationPhaseIndex( ); returns -1 and I naturally none of the phase switch parts get executed. http://download.autodesk.com/global/docs/softimage2013/en_us/sdkguide/index.html?url=files/cus_icenodes_MultiPhaseCustomICENode.htm,topicNumber=d30e19848 Below is a simplified version of my SubmitEvaluationPhaseInfo and Evaluate callbacks. If you run it, this is the output: # INFO : Reached beginning of Evaluate callback. # INFO : -1 # INFO : Reached multi-threaded part of Evaluate callback And that repeated for every thread. So the part before the phase switch and after is being evaluated, but the part inside of it isn't because ULONG nPhase = in_ctxt.GetEvaluationPhaseIndex( ); apparently returns -1. I've gone over everything 10 times and in my eyes everything is set up correctly, but clearly I'm making a mistake somewhere. I would really appreciate it if somebody experienced would take a look. I've also attached the entire c++ file. Thank you so much guys. SICALLBACK GetTextureColorByUV_SubmitEvaluationPhaseInfo( ICENodeContext in_ctxt ) { ULONG nPhase = in_ctxt.GetEvaluationPhaseIndex( ); // Note: A case statement is needed for each phase we want to define. Each phase should submit one or multiple ports to // process. Be sure to call in_ctxt.SetLastEvaluationPhase() to specify the last phase to process. switch( nPhase ) { case 0: { // Example for pulling a port for evaluation. in_ctxt.AddEvaluationPhaseInputPort( ID_IN_ImagePath ); } case 1: { // Example for pulling a port for evaluation. in_ctxt.AddEvaluationPhaseInputPort( ID_IN_U ); in_ctxt.AddEvaluationPhaseInputPort( ID_IN_V ); // Tells XSI that phase 1 is the last phase to process in_ctxt.SetLastEvaluationPhase(); } break; default: // Abort evaluation if the current phase is not handled return CStatus::Abort; } return CStatus::OK; } SICALLBACK GetTextureColorByUV_Evaluate( ICENodeContext in_ctxt ) { // Code sample to demonstrate how to implement a multi-phase evaluation callback. // Process all phases first. The Evaluate callback is called in single-threading // for each phase declared in the GetTextureColorByUV_SubmitEvaluationPhaseInfo callback. ULONG nPhase = in_ctxt.GetEvaluationPhaseIndex( ); * Application().LogMessage(Reached multi-threaded part of Evaluate callback); * * Application().LogMessage(CString(nPhase));* switch( nPhase ) { // Note: A case statement is needed here for each phase declared in GetTextureColorByUV_SubmitEvaluationPhaseInfo case 0: { CDataArrayString ImagePathData( in_ctxt, ID_IN_ImagePath ); * Application().LogMessage(Reached End of phase);* // Store results in user data ... return CStatus::OK; } case 1: { return CStatus::OK; } break; }; // Note: The last phase is always processed in multi-threading. ULONG out_portID = in_ctxt.GetEvaluatedOutputPortID( ); switch( out_portID ) { case ID_OUT_Color : { // Get the output port array ... CDataArray2DColor4f outData( in_ctxt ); // Get the input data buffers for each port CDataArray2DFloat UData( in_ctxt, ID_IN_U ); CDataArray2DFloat VData( in_ctxt, ID_IN_V ); * Application().LogMessage(Reached multi-threaded part of Evaluate callback);* // We need a CIndexSet to iterate over the data CIndexSet indexSet( in_ctxt ); for(CIndexSet::Iterator it = indexSet.Begin(); it.HasNext(); it.Next()) { // Add code to set output port... CDataArray2DFloat::Accessor USubArray = UData[it]; CDataArray2DFloat::Accessor VSubArray = VData[it]; CDataArray2DColor4f::Accessor outDataSubArray = outData.Resize(it, USubArray.GetCount()); for (ULONG i=0; iUSubArray.GetCount( ); i++) { outDataSubArray[i].PutR(1); outDataSubArray[i].PutG(1); outDataSubArray[i].PutB(1); outDataSubArray[i].PutA(1); } } } break; }; return CStatus::OK; }
Re: path constraint via ICE
Thanks guys, I finally got some time to look into it yesterday, and it worked like a charm, someday when i get some time of i think im going to redo this effect but this time around make it unsimulated. It feel like I don't really get the inner working of strands yet, and this would be a great way to remedy this. For now this works great :) On Saturday, June 29, 2013, wrote: If you want to have a % driven ‘path’ constrain as these examples are a ‘param’ type constraint, Its more complex. If you have a null constrained in the middle, and you pull one end of a curve, it wont react on a param. (unless it only has 2 points) but with a % version, it will always stay at 50% of the length so slide along the curve. I managed to get one working using Nest’s Strandfitting compound and the fit bezier node, but it would be nice for this to be exposed without the faff. Paul *From:* olivier jeannel javascript:_e({}, 'cvml', 'olivier.jean...@noos.fr'); *Sent:* Friday, June 28, 2013 12:57 PM *To:* softimage@listproc.autodesk.com javascript:_e({}, 'cvml', 'softimage@listproc.autodesk.com'); *Subject:* Re: path constraint via ICE Even better :) Le 28/06/2013 12:22, Edy Susanto Lim a écrit : Hi, If we use object as an upvector, then we don't need the Increment Rotation with 2 vectors compound. We can just use 'Direction to Rotation' node. -tangent as 'Point At' -the position difference of the upvector object position to the curve position as 'Up Vector' Cheers, edy On Fri, Jun 28, 2013 at 5:58 PM, olivier jeannel olivier.jean...@noos.frjavascript:_e({}, 'cvml', 'olivier.jean...@noos.fr'); wrote: I don't know the official way, but since the tangency will control the rotation on one axis, you just need to add a second Set Rotation that look UP on another axis. Like this : (Local vector set to 0, 1, 0 ) Le 28/06/2013 10:49, Morten Bartholdy a écrit : Pretty cool Alan! So tangency is controlled in the Increment Rotation node - how would I control the upvector, say with another null? To better understand how it works, how come it is necessary to key the null to zero rot and pos for it to work? Morten Den 26. juni 2013 kl. 16:45 skrev Alan Fregtman mailto:alan.fregt...@gmail.com javascript:_e({}, 'cvml', 'alan.fregt...@gmail.com');: http://s3.darkvertex.com/hlinked/ice/ICE_example_kinematics_pathOrCurveUConstraint.png Maybe something like this? You may need to do more to deal with the upvector better if your curve complexity is intense. On Wed, Jun 26, 2013 at 10:34 AM, Ponthieux, Joseph G. (LARC-E1A)[LITES] j.ponthi...@nasa.gov javascript:_e({}, 'cvml', 'j.ponthi...@nasa.gov'); wrote: Is there a way to perform a path constraint using ICE? I’m certain that it can be done but I can’t find a task or tool prepackaged to do this. Thanks -- Joey Ponthieux LaRC Information Technology Enhanced Services (LITES) Mymic Technical Services NASA Langley Research Center __ Opinions stated here-in are strictly those of the author and do not represent the opinions of NASA or any other party. -- Edy Susanto Lim TD http://sawamura.neorack.com -- Sent from my fax machine.
Re: Test
Mailbox lag. Sorry for the noise. Carry on On 04/07/2013, at 16.22, Mats Bertil Tegner mats.bertil.teg...@gmail.com wrote: Pingo van der Brinkloev skrev 2013-07-04 14:40: anybody? Yes effendi?
Re: Test
Hello ! On 4 July 2013 19:59, Pingo van der Brinkloev xsil...@comxnet.dk wrote: Mailbox lag. Sorry for the noise. Carry on On 04/07/2013, at 16.22, Mats Bertil Tegner mats.bertil.teg...@gmail.com wrote: Pingo van der Brinkloev skrev 2013-07-04 14:40: anybody? Yes effendi?
Re: Test
Hello Simon Reeves VFX Artist London, UK On 5 Jul 2013, at 00:29, Andreas Bystrom andreas.byst...@gmail.com wrote: use gmail instead On Fri, Jul 5, 2013 at 11:26 AM, Emilio Hernandez emi...@e-roja.com wrote: Hello! 2013/7/4 Sebastien Sterling sebastien.sterl...@gmail.com Hello ! On 4 July 2013 19:59, Pingo van der Brinkloev xsil...@comxnet.dk wrote: Mailbox lag. Sorry for the noise. Carry on On 04/07/2013, at 16.22, Mats Bertil Tegner mats.bertil.teg...@gmail.com wrote: Pingo van der Brinkloev skrev 2013-07-04 14:40: anybody? Yes effendi? -- -- Andreas Byström Weta Digital