Gypsy Paz
Resident-
Posts
26 -
Joined
-
Last visited
Reputation
4 NeutralRecent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
-
Catmull Rom or Bezier curves in game play animal movement
Gypsy Paz replied to VirtualKitten's topic in LSL Scripting
I dunno, the question was clear enough to me. It's just writing the script and working out realistic animal motion is days or even weeks of RL time sitting at the computer and writing code. I think these five pages of everyone talking about curves and how they handled them are great! Forums should be about everyone helping each other learn, not writing free scripts. -
Catmull Rom or Bezier curves in game play animal movement
Gypsy Paz replied to VirtualKitten's topic in LSL Scripting
That's a good script Quistess. It's well commented and that should be enough docs for most scripters. And I totally what you mean by it being allot of work without any pay. I had in mind to put together a complete sample, but it took me two days just to find my old Bezier scripts. I may yet take it further into an animal script, but I'm not sure if I will give it away free after spending a week or two figuring out and coding the perfect motions. I do have a couple tips for anyone else figuring this out.... 1) I always make handles as the first step so I can visualize the paths and read the vectors. That data is important when you setup min and max values for how far the handles can be set. 2) You will want to loop though the KFM's the curve functions generate. Each curve generates a path that is a small part of the whole path. It's a double nested loop, with the inside looping though the time of 0-1 and the outside loop putting several of those together as it goes along. -
Catmull Rom or Bezier curves in game play animal movement
Gypsy Paz replied to VirtualKitten's topic in LSL Scripting
I thought I'd share a couple places on the web I used the javascript version of this Bezier function. http://mathahoy.com I used it for the cannon ball trajetory. http://jigfu.com I used it to draw the curves to cut the tiles on. They are old and very dated, but feel free to view source and read though the code if you want. -
Catmull Rom or Bezier curves in game play animal movement
Gypsy Paz replied to VirtualKitten's topic in LSL Scripting
In the Bezier script I made available. All the data is in the moveNode() function. That is where it loops though the Bezier function though the time. The returned point is packed in the llRegionSay(sysChan+i, "move%"+(string)bezier3(p1, p2, p3, (float)i/10)); That builds a string for the nodes to parse into a list in the move%targetVector format. So bezier3(p1, p2, p3, (float)i/10) is the vector of which each 'node' point is located. To make it work for KFM, I would build a list in the moveNodes loops instead of chatting to the region and use that data to drive the keyframes. For complex paths you will probably want to nest it inside another loop with that p1, p2 and p3 points updated in-between iterations. moveNodes(){ vector p1 = llGetPos(); list anchorInfo = llGetObjectDetails(anchorKey, [OBJECT_POS]); list handleInfo = llGetObjectDetails(handleKey, [OBJECT_POS]); vector p2 = llList2Vector(handleInfo,0); vector p3 = llList2Vector(anchorInfo,0); integer i; for ( i=0; i<llGetListLength(nodes); i++ ){ llRegionSay(sysChan+i, "move%"+(string)bezier3(p1, p2, p3, (float)i/10)); } anchorPos = p3 - llGetPos() / llGetRot(); handlePos = p2 - llGetPos() / llGetRot(); } -
Catmull Rom or Bezier curves in game play animal movement
Gypsy Paz replied to VirtualKitten's topic in LSL Scripting
lol thanks. I updated it. -
Catmull Rom or Bezier curves in game play animal movement
Gypsy Paz replied to VirtualKitten's topic in LSL Scripting
I only posted the function here. The whole working prims are on the MP. But yeah, I need to write a notecard to explain it better. My code is probably on the hard to read side too. I will try to write that stuff. -
Catmull Rom or Bezier curves in game play animal movement
Gypsy Paz replied to VirtualKitten's topic in LSL Scripting
Virtual Kitten pointed me to this thread. It took me a couple days to find my old Bezier script, it was hiding in an unfinished climber script. The function I use is: vector bezier3(vector p1, vector p2, vector p3, float mu){ float mum1; float mum12; float mu2; vector p; mu2 = mu * mu; mum1 = 1 - mu; mum12 = mum1 * mum1; // p= (1-mu)^2 p1 + 2*mu*(1-mu)*p2 + mu^2 * p3 p.x = p1.x * mum12 + 2. * p2.x * mum1 * mu + p3.x * mu2; p.y = p1.y * mum12 + 2. * p2.y * mum1 * mu + p3.y * mu2; p.z = p1.z * mum12 + 2. * p2.z * mum1 * mu + p3.z * mu2; return(p); } p1, p2 and p3 are vector positions for control points. mu is the time from 0.0 to 1.0. you loop the function through a full time scale and it returns the vector position of that point in time. I posted a working sample on the Marketplace as a full perm freebie https://marketplace.secondlife.com/p/Bezier-script/23187253 -
good idea Dolphin https://jira.secondlife.com/browse/BUG-6767
-
yes
-
Hey guys, I just did a little experment using llTeleportAgent() to position my avatar to operate a lever. It worked really well, expect for the teleportation sound and the toast. Yes, I could use sit targets as has always been done, but the problem with that is there is no range control. And people are able to cam over from half a sim away, sit on the object and be instantly there. I believe if the the teleport sound effects were suppressed if the distance is less than 10 or 20 meters, it could be very helpful in many situtations. Relaxing the throttle on these short range teleports might also be worth dicussion. An idea that just popped into my head as I was writing this could be excellent solution to this. Add a new function called llWalkAgent() Also a llRotateAvatar() function has been sorely needed for years. Once upon a time we were able to, but it got blocked due to abuse. (people were spinning avatars so the viewer had to keep rendering content behind them too fast)
-
0: XP_ERROR_NONE 1: XP_ERROR_THROTTLED 2: XP_ERROR_EXPERIENCES_DISABLED 3: XP_ERROR_INVALID_PARAMETERS 4: XP_ERROR_NOT_PERMITTED 5: XP_ERROR_NO_EXPERIENCE 6: XP_ERROR_NOT_FOUND 7: XP_ERROR_INVALID_EXPERIENCE 8: XP_ERROR_EXPERIENCE_DISABLED 9: XP_ERROR_EXPERIENCE_SUSPENDED 11: XP_ERROR_QUOTA_EXCEEDED 12: XP_ERROR_STORE_DISABLED 13: XP_ERROR_STORAGE_EXCEPTION 14: XP_ERROR_KEY_NOT_FOUND 15: XP_ERROR_RETRY_UPDATE 10: XP_ERROR_UNKNOWN_ERROR 16: XP_ERROR_MATURITY_EXCEEDED Here are the correct error codes. They appear to be listed wrong on the two wiki pages.
-
experience_permissions_denied
Gypsy Paz replied to BlackMagi Darkwatch's topic in Experience Tools Forum
I also got a little stuck on 'Operation not permitted' the first time I tried out the exp. You need to allow your Exp key on the parcel or estate. In the beta project viewer, open up the About Land window. and then scroll the tabs over to the right to find the experiences panel. (that tab is hidden off to the right of the About Land floater) -
well, I tried out firestorm, Rezzed a cube Took the cube Cube is nowhere to be found in my invenotory Attaching the cube on hte ground from the pie menu put it in my objects folder as normal and I was able to detach and have it.
-
Embark on a Quest in Linden Realms: Collect Crystals, Earn Linden Dollars and Have a Blast!
Gypsy Paz commented on Linden Lab's blog entry in Featured News
Mixed feelings, I'm looking forward to checking it out, sounds like it's gonna be really fun, but, umm, why is LL competing with their own user base!? -
Welcome to the New Second Life Community Platform
Gypsy Paz commented on Vogt Linden's blog entry in Featured News
This is really nice! Well done LL