Help with Matrix
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 29/05/2010 at 10:26, xxxxxxxx wrote:
User Information:
Cinema 4D Version: 11.5
Platform: Mac OSX ;
Language(s) : C.O.F.F.E.E ;---------
I'm struggling with dot syntax... Could somebody give me some guidance as to what I'm doing wrong...?I'm just trying to store the cube's X position.
main(doc,op)
{
var cube=doc->FindObject("Cube");
var cubeX = cube.x;
} -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 29/05/2010 at 10:49, xxxxxxxx wrote:
You've skipped a step. You must get the position from your object.
var cube = doc->FindObject("Cube"); // this is just what object you want to use var cubeposition = cube->GetPosition(); // This is the local position, vectors x y z. var cubeposX = cubeposition.x; // Her you pick the x vector
Do read the basicsin the 9.5 COFFEE SDK
(Found under "Older SDK" at Support Downloads)
Most of the ideas behind programming is very well described in it.Cheers
Lennart -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 29/05/2010 at 11:05, xxxxxxxx wrote:
I see...
Would you be able to help me with something else...?
I'm trying to keep a null aligned to a spline using an offset specified in a user data field. When I move and rotate the spline, the null doesn't stay aligned because I can't figure out how to input the correct Matrix details. I know this would be simple in Xpresso, but I'm trying to learn COFFEE. I do have the SDK, but it can be difficult to find the answers at times. I would be really grateful for any pointers...
main(doc,op)
{
var spline=doc->FindObject("Spline");
var point=doc->FindObject("point");var offsetAmount=spline#ID_USERDATA:1;
var offset=spline->GetSplinePoint(offsetAmount,0);point->SetPosition(offset);
} -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 30/05/2010 at 06:28, xxxxxxxx wrote:
This would be the basics for that. Your position along the spline need to be
converted into Global space.
Note that there is no easy way to get a deformed position.
Also, do check the Init() function in the SDK if you want/need to do any calculations on the spline.Cheers
Lennartmain(doc,op) { var spline = doc->FindObject("Spline"); if(!spline) return; // Not found var Cube = doc->FindObject("Cube"); if(!Cube) return; // Not found var offsetAmount = spline#ID_USERDATA:1; var offset = spline->GetSplinePoint(offsetAmount,0); // The local position along the spline offset = spline->GetMg()->GetMulP(offset);// Get the global offset position var CubeM = Cube->GetMg(); // Get the Cube matrix CubeM->SetV0(offset); // Load new position (your offset) into Cube matrix Cube->SetMg(CubeM); // Reload the edited matrix back to Cube }
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 30/05/2010 at 10:59, xxxxxxxx wrote:
Thanks a lot Lennart, I've been through your help and it's working just as i wanted. You've given me some really good pointers.
Benek