Jump to content

Phate Shepherd

Resident
  • Posts

    198
  • Joined

  • Last visited

Everything posted by Phate Shepherd

  1. We already imported all the old windlights... along with fixing the endless naming errors that many had from web downloads that escaped anything but alpha numeric characters. I'll see if I can find the FS docs. We do have a backup of the settings. I think the only trouble will be determining WHICH one was selected out of hundreds. I suspect it will come down to digging into the backup xml files. Thanks.
  2. Since we can no longer log into SL with a non-EEP Firestorm (That i know of) is there a way to recover a persons personal sky and water settings so I can create a settings file to use in EEP? I don't care if it is a settings hack to allow one last login of non-EEP, digging in ini files, etc.
  3. True... at least you know by which animation you are playing what the rot is. A little more complicated timer wise, but not significantly. I played with a single animation that coincided with food appearing and disappearing during the act of grabbing it and putting it in mouth. Works rather well, so even a single animation with known "waypoints" works (Can't think of a better term.)
  4. I was going to be silly and try and calculate the orientation of a glass to visibly tilt the liquid based on the animation. I can probably still do it, but it would be highly dependent on region lag... matching know rotations throughout an animation after starting it.
  5. Just to make sure I am not forgetting something, there is no way to get the orientation of an item that is held in the hand (or attached anywhere for that matter)? Everything, including raycast is based on the orientation of the avatar, and as far as a worn object goes, animations make no difference to orientation or position whatsoever as far as a script is concerned. The only way I could GUESS at an orientation of an object is to know: A: The orientation of the avatar, B: The orientation of the attachment and, C : What rotation the animation puts the attachment point in at known points from the starting of the animation.... then add all those rot's together.
  6. Tested and shows animats is corrrect. Thank you. default { touch_start(integer total_number) { integer i; vector v; rotation r1; rotation r2; for (i=0; i<10; ++i) { v = <llFrand(360) - 180, llFrand(360) - 180, llFrand(360) - 180>; r1 = llEuler2Rot(DEG_TO_RAD * v); if (r1.s < 0) { r2.x = -r1.x; r2.y = -r1.y; r2.z = -r1.z; r2.s = -r1.s; } else r2 = r1; llOwnerSay((string)(llRot2Euler(r1) * RAD_TO_DEG) + " = " + (string)(llRot2Euler(r2) * RAD_TO_DEG)); } } }
  7. I did a test running through random XYZ values, and generated numerous negative W values. Euler in degrees: <-5.10513, -117.65760, 116.72350> Rot in radians: <0.73983, 0.42875, -0.46022, -0.23880> So, is it likely that when the quaternion was stored truncated that the XYZ were inverted if W was negative, allowing W to be recreated knowing that it will be positive? I read the notes on the .anim format, and there appears to be some confusion in the format, specifically due to a couple different versions of the format. An early version storing as Euler, and the later as a truncated quaternion.
  8. I think I follow, but that is where I was going. If my input quaternion has a negative W, how do i recalculate the X, Y and Z values to get W to be positive. Trying some experiments.
  9. Thats where I am lost. If it can be negative or positive, how can they be reliably storing a quaternion as 3 values in the .anim without at least storing the sign of the missing W component.
  10. I hope I can catch the eye of someone with better math skills than I have... The SL internal .anim format appears to store rotations as "Truncated Quaternions". Only X, Y and Z are stored, and W is calculated later. From the wiki: http://wiki.secondlife.com/wiki/Internal_Animation_Format "Note: These three values X Y Z appear to be the first three values of a truncated quaternion with the W term being calculated afterwards. Since a quaternion is X2 + Y2 + Z2 + W2 = 1 as long as you assume the W term has a consistent sign the X Y Z terms will be accurate." The part I don't understand is the "Consistent Sign". If I have a quaternion value that I want to truncate, how can I make sure the sign is consistent so it can be recreated? Also, I have long forgotten what the internal rotation order is when LSL converts a Euler to a Rot. Is it X*Y*Z, or some other order? (I found the answer to the second question: "The Euler angle vector (in radians) is converted to a rotation by doing the rotations around the 3 axes in Z, Y, X order.")
  11. Ohh.... I didn't know that had been implemented. It won't help with the reports I am getting from existing users, but I can at least visit their region and use a test rig to see if there is more info provided. Thanks!
  12. The problem is, my hosting service is... well... crap, and I need to change to another. Until that happens, I typically need to know the exact IP address of the proxy host for them to remove the block.
  13. So, I suspect my hosting service may be firewalling some of the new aws IP addresses. Since the proxy host is round robbin, how can I figure out which IP address is blocked since it is no longer the simulator IP address.
  14. There are a number of them... pick one based on the features you need: http://wiki.secondlife.com/wiki/CatText
  15. Rigging clothing is far, far easier if you do have the dev kit. I doubt the Maya female shape weights are going to be anywhere near what a particular dev kit uses.... especially when you take into account fitted mesh with the added volume bones. It is far easier to build your mesh to the dev kit, and then copy weights from the dev kit. (There are a variety of steps that can help with this, like using a shrinkwrap modifier before copying weights.) What you will run into really fast is the limit on total weights allowed per-vertex. SL only allows 4. This wasn't much of a problem with non-fitted avatars, but with fitted avatars, it can be a real nightmare finding a balance of which 4 to allow for each vertex, particularly in the pelvic area. Again, this is where copying weights helps tremendously, as the dev kit creator has already made those tradeoffs. You just have to be careful when smoothing vertex weights as you cleanup post-weight copy, so as not to pick up unwanted influences from other bones. As for the difficulty getting the dev kits... there is a significant amount of trust the creator is granting you. They are giving you pretty much the keys to the kingdom to make and sell a rip of their body. (Many of them will trash the UVs as one level of protection, or omit distinct toes or other features in the dev kits.)
  16. What's sad.... I forgot I submitted that before the previous reply.
  17. Not sure it has been mentioned, but the 10,000 item limit isn't just imposed on individual objects within a coalesced group, but also on object inventory within those objects. So, say you had just 2 boxes of DFS stuff, each with 5001 items in them. You now can't rez the coalesced group that is just 2 boxes. This bit me in the butt as one of my products has over 4000 items in each objects inventory. So, rezzing/deleting/picking up more than 2 of them will trigger the "No can do" error. I can't remember if I ever got around to submitting a JIRA request that coalesced groups be deprecated/converted to a new type of inventory folder that could be drug to the ground like a coalesced group, but also opened and searched like a regular folder. Would solve this issue, as well as put an end to losing items that you can't figure out what group they got picked up in (Because you could still search for them.) Items could be removed from these special folders, but not added.
  18. If that were the case, the gnomes would all be sporting Rapunzel length hairstyles. Using the id key field as a second string is so commonplace that a significant number of beds and chairs in SL would break if it were changed. Several very popular scripts rely on it, such as AVSitter and FURWARE text. llMessageLinked Wiki: "You can use id as a second string field[2]. The sizes of str and id are only limited by available script memory."
  19. Many good points, but I can see that without clarification of intent, and assuming something like shooting a bullet, it wouldn't be unreasonable to want to have an unequivocal answer to "Did I hit my target, or did something get in the way?"
  20. Scripts have no way to detect when an animation loops. You can create a "sequence" in avsitter that changes animations every x seconds, but there is no guarantee that it will coincide with the end of the animation. That also doesn't automate changing positions, just automates changing animations. To change seating position, you would have to have a script that monitors the link messages from avsitter when someone sits, and then issue commands to avsitter to move that person from position to position. It could be a little tedious to keep track of who is seated, where they are seated, what is the next position, and to cancel everything if they stand up. If you want to share what the animation spots are doing, there may be a better way to do it... like a single animation that does all the steps.
  21. If you just wanted it to face the closest person, shouldn't need camera perms... just their position to calculate the relative rotation between the two positions? It would look strange switching from person to person as other people got closer. (partial pseudo code) Set up llSensorRepeat for avatars in state entry. Limit range to maybe 20 meters. In detected event: vector r = llRot2Euler(llRotBetween(llGetPos(), llDetectedPos(0))); llSetRot(llEuler2Rot(0, 0, r.z)); (Or some variation on this) It is driving me nuts.... I can't remember the movie where a guy gets his eyes transplanted, and as he is walking down the streets, all the advertising is scanning his eyes and calling out the name of the donor.
  22. Rick-Rolled on the sl forums. Well done PH, well done 😉
  23. Funny you say that. Linden Lab created Sansar to do just that... after years of development, it didn't work out as expected. It used c# as its script engine. Many will argue about why it didn't succeed, but in the end, having "better" technology isn't always the solution.
  24. I'd say about as far as you could go before losing your mind would be something like a BASIC interpreter with a text only, or very low rez B&W display. I've done 128x128 bitmap displays in SL without using MOAP. Going much beyond that and it gets complicated very fast. An 80x24 text display would be easy enough. I've seen LSL scripts for parsing math, but can't remember if it could handle variables.
  25. linkset numbers don't change unless you add/remove/relink prims in the object. What does happen is that the viewer goes stupid and incorrectly tells you what the link numbers are. I know Firestorm does it, not sure about others. Relogging is one way to see the correct link numbers again... picking the item up and re-rezzing should too.
×
×
  • Create New...