THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 27/07/2004 at 13:40, xxxxxxxx wrote:
Cinema 4D Version: 8.503
Platform: Windows ; Mac ; Mac OSX ;
Language(s) : C++ ;
What is the appropriate use of this?
I assume that the IPs only need to be unqiue for the current hierarchy. I have a generator that takes inputs and generates multiple object hierarchies. In the simplest case I might generate with an input object such as:
Since these are based off particles I assume I would not set a unique IP for NULL and the other obejcts would go in order ( 1, 2, 3, 4, 5 ). If 4 was dropped then it would be ( 1, 2, 3, 5 ). Yes, I did set OBJECT_UNIQUEENUMERATION flag. I am actually having issues that it will freeze up ( loop ) when I go to redner out using anything that uses this infromation ( including the built in Vector Motion Blur ). A working example that uses multiple objects would be very helpful.
darf - coreav
On 30/07/2004 at 12:02, xxxxxxxx wrote:
We need an answer to this question please.
On 31/07/2004 at 04:13, xxxxxxxx wrote:
Sorry for the delay, but I've been away for a few days. I'll try to think of a good example, but what would help me the most would be a small samples that crashes the VMB. (Reproducible crashes are always a good way to get developer attention...
Also, is there anything wrong with your sample? Should that be 1...5 rather than 1...1? What is input and what is output? Sorry for the confusion...
On 31/07/2004 at 08:41, xxxxxxxx wrote:
The 1's are just object names. I explained in the paragraph how I was numbering them. I am just fishing for an SDK example that would use SetUniqueIP correctly.
On 31/07/2004 at 16:37, xxxxxxxx wrote:
Ok, so you have one input object ("1") that you create five copies of, some of which are only there some of the time? I'll see if I can reproduce the crash and/or create a working example.
On 31/07/2004 at 17:10, xxxxxxxx wrote:
On 03/08/2004 at 03:15, xxxxxxxx wrote:
I finally got around to trying the SetUniqueIP() thing. However, I couldn't find any problems with vector motion blur. This is the code I had:
BaseObject *AtomObject::GetVirtualObjects(PluginObject *op, HierarchyHelp *hh)
BaseObject *orig = op->GetDown();
// return if no input object is available
if (!orig) return NULL;
// request polygonized input
Bool dirty = TRUE;
// generate polygonalized clone of input object
// if !dirty object is already cached and doesn't need to be rebuilt
if (!dirty) return res;
if (!res) return NULL;
// group all further objects with this null object
main = BaseObject::Alloc(Onull);
if (!main) goto Error;
LONG frame = hh->GetDocument()->GetTime().GetFrame(hh->GetDocument()->GetFps());
for (LONG i = 2; i <= 7; ++i)
if (!(frame % i)) continue;
BaseObject* cl = static_cast<BaseObject*>(res->GetClone(0,NULL));
cl->SetPos(Vector(i*100, 0, 0));
I've sent the scene I used to you by email. It animates just fine with VMB.
On 03/08/2004 at 03:17, xxxxxxxx wrote:
(Well, the scene mail bounced because of a full mailbox. It was just a modified atom object, with a cube inside, moving about with VMB turned on.)
On 03/08/2004 at 06:57, xxxxxxxx wrote:
I will work on it.
On 03/08/2004 at 15:05, xxxxxxxx wrote:
Ok, let me know how it goes. I also noted that it was instructive to remove the SetUniqueIP() line and the OBJECT_UNIQUEENUMERATION flag, just to see that the VMB didn't work without them (it detects erroneous diagonal movement when objects are removed).