View Full Version : dpkit mdd Pointer

07-12-2008, 08:45 AM
I`ve been trying to get an mdd file to loop properly and track the keyframed animation that the mdd file is sourced from.

I`ve attached a scene with a clock, where the clock hand rotates 360 degrees in 25 frames.

If I scan this and drive it with mddPlug set to repeat then everything appears fine but I cannot get the same thing to happen with the mddPointer node.

Any tips on what I`m doing wrong?

07-12-2008, 10:27 AM
I have tested your scene,
may be I found what's causing the trouble,
MDD_Plug or MDD_Pointer replace the position
of point by world coordinates of MDD baked/scanned
point, but MDD_Pointer node do an internal
substraction of the MDD position to the original
position of point to get a "Delta" like in an
endomorph for a Displacement node editor input,
so in your scene to get proper result in the node
you should remove the rotation key to avoid
redundant animation, even in "Repeat" mode.


07-12-2008, 10:47 AM
Thanks Denis

was going to ramble on about having tried that but it was still doing something weird at the loop boundary but

Its working fine now

07-14-2008, 04:37 PM
Denis I downloaded the DPkit to get the tension node but the mddPointer Node is now truncating the mdd file path by the first character and then stating that it cannot find the file.

You can put the character back in and it works ok but I figured you would want to know

07-15-2008, 01:10 AM
Yes, thanks,
an error introduced in the last x32 DP Kit compiles only,
should be fixed now, please download again.


08-01-2008, 10:33 PM
hi dpont, i tried your shader node "edge" on beta 9.5 and even on my 9.3.1. at first render it works fine but when i change some settings it hangs and crash. any update

08-02-2008, 01:33 AM
Edge node ? MDD_Pointer ?... It is related?

About Edge node,
you can't ignore that this node could not work
without its own geometry scan.

Tweaking parameters should no be a problem in Layout F9/F10,
considering other realtime usage like FPrime with huge geometry,
with or without Multicore/Multithreading,
you could have issues, but I don't think it is "obvious"
to solve this, Edge node has no other way to know if the
geometry is changed than asking through Meshinfo
for every call, I think that the main problem.

It is difficult to track/debug this issues,
because this is a random stability behavior,
do I add also that my cpu is old and my RAM is limited,
so repeating this kind of testing is discouraging,
I have tried some theorical fix but betatesting this seems
to be tedious for all users.
I have also discuss of this elsewhere without
optimistic conclusions, do you know other nodes
which need a scan in Lightwave?

Some other notes,
remember that Edge node will scan the whole geometry,
even if it is applied to only a part of your geometry, so
try to separate the "edged" surface in Modeler.

I wrote this node before the FPrime's node compatibility
update and never promise it could work in Realtime,
I'm sorry if you are frustrated, but also don't expect
that I could solve or fix this kind of issues in a public
forum, some other people could explain to you
that debuging/testing is a work, with detailed
reports and shared content, then progressive code
If I can get some luminous idea, yes I will update,
but please stop the complain...


08-05-2008, 10:05 AM
hey, whos complaining.... mdd pointer is currently the only way i can get mdds for objects with large numbers of poitns to work in LW atm, mdplug just crashes....

ur a frikkin life saver (well... project, job saver at the very least).

10-31-2008, 08:28 AM
I was thinking if it's possible to have mdd's time mapped per vertex.
i.e you put a scalar node with envelope which drives time in mdd_pointer and don't plug it directly but mixed with texture's alpha (or luminosity, whatever).
i think this would be very powerfull feature.

I thought of recreating FX from guinness commercial:

in the end you can see a glass made of books.

I thought that way. Animate one book, bake this animation to texture with dpont's vector cast. Then clone those books in modeller and import to layout. As every book has the same UVs they would animate the same way after aplying vector_map.
Then you bake this animation to mdd and... if we had possibility to map mdd's time per vertex we could animate each of this books with specific offset i.e using 2d texture mapped via UV where every book is represented as point in UV space. You know, shrink and apply UV.

If anyone can do it, it would be absolutely awesome feature. Let's call it dpkit_4DMorph :)

10-31-2008, 09:08 AM
I was thinking if it's possible to have mdd's time mapped per vertex...

See MDD Cache node, it can do that.


10-31-2008, 09:43 AM
I was trying MDD_cache node, but as I remember it was crashing when I've plugged texture into time. But I'll try again today.

10-31-2008, 11:09 AM
Right, this has been fixed in the x32 DP Kit.


10-31-2008, 04:36 PM
Works as expected and opens so many possibilities...
Thanks Denis.

12-29-2008, 01:50 PM
Cheeky MDD_Pointer request!

Hi Denis

I'm currently using the 'time' parameter to control the cycle of an animation, speeding it up and slowing it down. However, it would be a lot easier if I could do this from the playback speed parameter. Maybe if/when you have some time, could it be possible to have an envelope for this as well?

I know its a bit cheeky to request this, but if you don't ask, you don't get! :)

12-30-2008, 01:49 AM
A "Time" input includes all possibilities,
making a linear time envelope is easy,
take a Constant Scalar node,
one key of value 1.0 at 1 second and
set "End Behavior" to "Offset Repeat",
then take another Constant Scalar node
to make your Speed envelope and
use it as multiplier of the first above node,
enter it as "Time" input.


12-30-2008, 04:00 AM
Thanks Denis! - that set up works perfect for me - good job someone knows what they're doing :D

01-10-2009, 10:27 AM
I added a Speed input in MDDPointer node, MDDMetaPointer and
BDDPlayer nodes,

Time is exclusive and has priority over Speed, do not connect Time to get
A Speed envelope (in a Constant Scalar node) has less possibilities,
than Time but easier to set for adding ease in/out or simple
speed variation.

MDDCache already had it, but Speed input is now also evaluated
per point like Time input,

in x32 DP Kit, also ported to x64 by Marvin,


01-10-2009, 12:48 PM
Awesome! - thanks Denis :)

01-10-2009, 02:15 PM
A basic setup to get different speed for each clone,
with one unique MDD loaded in memory,



01-10-2009, 03:23 PM
Cool - I'll give this a try!

01-11-2009, 06:33 AM
Helpful addition Denis. Thanks!