Jump to content

Gypsy Paz

Resident
  • Posts

    26
  • Joined

  • Last visited

Reputation

4 Neutral

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. 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.
  2. 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.
  3. 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.
  4. 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(); }
  5. 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.
  6. 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
  7. good idea Dolphin https://jira.secondlife.com/browse/BUG-6767
  8. 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)
  9. 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.
  10. 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)
  11. 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.
  12. 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!?
×
×
  • Create New...