Jump to content

VirtualKitten

Resident
  • Posts

    916
  • Joined

  • Last visited

Everything posted by VirtualKitten

  1. My mesh is linked and the linked mesh moves fine without jumping over the screen its the light model that seems to be now causing this aberration jumping all over the place not following the point of light in the mesh. it may be shown better here gifs show the mesh is rotating correctly . The new light model jumps the point of light off the mesh and looks silly https://gyazo.com/3781c3ad1c5f0d18f3b3adb636889c8f https://gyazo.com/e73ed9488d6450081e994f19bc43bab2 https://gyazo.com/0ab1aa741539d2a5cfab6238d5d445c2
  2. Hi Molly thank you for that great reply I had not understood you was talking about quaternions . I should state the Y axis is an anomaly of my mesh orientation and not actually Y in world per ce. However your wonderful explanations of quaternions is making me understand a little better that they contain more information that might help me. Perhaps looking at the Y not really the Y. I need to look at other axis too in my calculations to derive a position at 0 and at 180. This is becoming more complicated sighs. Thanks for your assistance Denise X
  3. Molly thanks for your kind help , but you have confused me sorry . My axis is not changing in original post its static to between 0 - 360 . I know my post has errors or it would do what i expected i was hopeful someone knew why my apologies if i have not understood am not having a good day sorry Are you saying vector euler = llRot2Euler(llList2Rot( llGetLinkPrimitiveParams(LINK_THIS,[PRIM_ROT_LOCAL]),0))*RAD_TO_DEG; is wrong and should be something else? Please see if(llList2String(r_list,1)=="All Up") {MoveRootRot(_getRotInAngleReqToBringToAngle(0), "z", LINK_THIS);} else if(llList2String(r_list,1)=="All Down") {MoveRootRot(_getRotInAngleReqToBringToAngle(180), "z", LINK_THIS);} else if(llList2String(r_list,1)=="All Left") {MoveRootRot(_getRotInAngleReqToBringToAngle(90), "z", LINK_THIS);} else if(llList2String(r_list,1)=="All Right") {MoveRootRot(_getRotInAngleReqToBringToAngle(270), "z", LINK_THIS);} // Rememeber check corect axis this Floor has y for horizontal origin. // takes a degree angle and turn it into a stepper angle from 0 degrees float _getRotInAngleReqToBringToAngle(float angle) { vector euler = llRot2Euler(llList2Rot( llGetLinkPrimitiveParams(LINK_THIS,[PRIM_ROT_LOCAL]),0))*RAD_TO_DEG; if(euler.y>361) return_value = _fmod(360,euler.y); else return_value = euler.y; llOwnerSay("Adjusted for modulus:"+(string)return_value); if(llFabs(return_value) != return_value && return_value !=180) return_value = 360+return_value; else if((integer)return_value == 0 && angle == 0) return_value = 180; else return_value = llFabs(return_value) ; llOwnerSay("Adjusted for negative cater for -0 and -180:"+(string)return_value); return_value = return_value + angle ; llOwnerSay ("Original Angle: "+(string)euler.y+"Angle: "+(string)return_value+ "Angle To set to : "+(string)angle); return return_value; }
  4. HI I have a problem with the new win light or EEP . It manifests in POINT of LIGHT and not in mesh . It seems to disconnect my light beams from tie lights even though the mesh is moving correctly. I have had a senior technician from Firestorm look at this but he could not work out why it was doing this :https://gyazo.com/801452994091d2a502d5f4db6a0658ac as shown in edit mode and this disjointed in normal view https://gyazo.com/bd2ce31efa50fe4966b1f6a773a032be Is there anyone can suggest to hep as this came n with new EEP in firestorm. Thank you for looking Dx
  5. ok I had to use the llSetLinkPrimitiveParamsFast(llGetLinkNumber(),[ PRIM_TEXTURE,ALL_SIDES, "5748decc-f629-461c-9a36-a35a221fe21f",<.30,0.3,0.30>,<0.0,0.0,0.0>,0]) earlier on in code to resolve this issue all sorted .
  6. I tried making my own mesh in a curve in blender as I wanted with two faces the same so that I could try and use LLS(LED/LCD/Sprite) Text v1.0.0 it seems his innovative work has to have the areas of text identical of size to work. This is not so easy on a curve and as expected did not work successfully the Fureware model uses five prims . I am after a mesh solution Thanks for reading KT Kinsley
  7. Molly it depends on the blender model and the import as to the orientation please look at my code if you have time in first pot and let me know what you think is wrong thanks for looking
  8. Hi everyone I have been trying to figure this out http://wiki.secondlife.com/wiki/XyzzyText has been around for ever and was replaced by FURWARE text v2.0.1 which I have both none will place text on a mesh face or series of faces as far as I have tried the best was to create an 8x1 mesh which i made and can get no further . Is there a way to put text on mesh as currently the only option I have found is a non mod version on Market place costing 1000L which seems to be not for real there is another LLS(LED/LCD/Sprite) Text v1.0.0 (https://marketplace.secondlife.com/p/LLSLEDLCDSprite-Mesh-Text-Display-For-Developer-Use-Only/7245285) which seems to have a funny mesh with two faces the same adjacent repeated to make 16 faces 8 x2. This is only shrinkable to 0.96000m which is to big however it does work on fairly well until you get to smaller sizes by unlinking the set but the font gets too compressed and cant be read well . I am quite impressed with Lucia Lumiere's work on this but there is no way to map the text on to several objects or move the text through the screen .It just reads from the description box i really could not expect more for the price . but as XyzzyText seems a massive improvement has anyone done this with MESH and how have you got around the naming conventions for the lines . Do you need a mesh per link with name on each or can a mesh readout be created in one blender mesh say 16 x 16 for example. or a long single mesh of 2x faces. I am left with this https://marketplace.secondlife.com/p/5-face-Letter-prim-Easiest-way-to-add-word-panels-to-your-product/1620117 is his a prim based product to or is there any better resources to read or how-to or marketplace bits for developers, Thanks for looking
  9. HannahLilly38, Permissions have got a lot more complicated for items inworld . You used to be able to open parameters of item inworld and set permissions for everything individually . Note LSL changed this about a year ago when you take them back into your inventory they change and you cant give full copies from them. The inworld permissions on properties page does have option for protecting individual parts like scripts; textures . However if they are taken back in to inventory and become permissions for the owner only . To get round this you have to: Right click the item in your inventory and set permissions inside your inventory on the item . Once done you can give them to anyone protecting scripts or images from the changes you made to the object inworld. I hope this helps. Denise
  10. @Mollymews Thanks Molly for the example but its in a linked set and stepping is not a problem imagine you have ten stepping around and they do it at different rates the code above is to reset them all from their current position to work out the offset and get them at this position . I think your example is just stepping around, thanks for looking.
  11. I have a media Player that once in a while does not record the location on the face to put the MEDIA llSetPrimMediaParams(LINK_THIS, [PRIM_MEDIA_AUTO_PLAY ,TRUE, PRIM_MEDIA_AUTO_SCALE, FALSE, PRIM_MEDIA_PERMS_CONTROL,PRIM_MEDIA_PERM_NONE, PRIM_MEDIA_PERMS_INTERACT, PRIM_MEDIA_PERM_NONE, PRIM_MEDIA_HOME_URL , URL_ART, PRIM_MEDIA_CURRENT_URL, URL_ART ]); I have tried setting this vert and horizontal size and all is good until it does it again . I have tried putting in llSetLinkPrimitiveParamsFast(llGetLinkNumber(),[ PRIM_TEXTURE,ALL_SIDES, "5748decc-f629-461c-9a36-a35a221fe21f",<0.0,0.0,0.0>,<.30,0.3,0.30>,0]); /* Blank texture */ which does resize the screen but if this code in same piece of code the media is in it will no longer play Media with the blank texture line in it but only a blank texture on it instead . Is there a way to set the face texture /media vector size above through the set media parameters that I have overlooked or is there another workaround please ? I should have also said I tried the obvious llSetPrimMediaParams(LINK_THIS, [ PRIM_MEDIA_CURRENT_URL, URL_ART2, PRIM_MEDIA_WIDTH_PIXELS ,0.30, PRIM_MEDIA_HEIGHT_PIXELS,0.30]) ; Which made no affect at all the only thing that corrects this is edit and change texture settings there must be a work around to do it by script? Now this i think is a problem as I have a different texture with different size when the item is switch off. Is the only workaraound at this image is cirrently 1.0,10,,1.0> to make it three times smaller and set this as base as the same <0.3,0.3,0.3> size that I want the have coordinates to be ? I did try this with my image starting at 256x128 and ending up with 32x16 before i could get half of image in at <0.3,0.3,0.0> Clearly at this point the image degraded so far that this image was not viewable. I am left setting it at 256x128 and scale at <1.0,1.0,0.0> and looking for a different solution can anyone help?
  12. Because my script doesn't work like that and don't understand him Its just confusing me
  13. Animats I think you are missing what this code is trying to do sorry but dont think any of that would help meas I sad the moment is accomplished its just the linden degrees from an object to return a pointer to 0 and calculate offset as a stepper motor does as it con-senqually travels in a circle
  14. Thank for looking Nova I can't spin it with Target Omega its a linked-set as it has two more moving components . Yes Nova am using llSetLinkPrinitiveParamsFast( in my MoveRootRot function and it was not worthy of mention as is not the problem . The problem is that when i have a position in a circle that the stepper is facing when it is set at 0 as in description it has nothing to go on to get back to zero. Likewise past 180 seems a problem there well may be others but haven't found exactly what they are which is messing up this stepper positioning it should always calculate an offset from zero.
  15. Hi everyone have a great new year with much love in it.xD I am scratching my blonde head with rotations in LSL and real angles and think I am missing something I have written this routine to work like a stepper motor in RL so it calculates zero from its current position then adds on the rest from zero to give you the rotation angle from existing angle ( confussed lol since last year when I started this and have got nofurther ) // Rememeber check corect axis this Floor has y for horizontal origin. // takes a degree angle and turn it into a stepper angle from 0 degrees float _getRotInAngleReqToBringToAngle(float angle) { vector euler = llRot2Euler(llList2Rot( llGetLinkPrimitiveParams(LINK_THIS,[PRIM_ROT_LOCAL]),0))*RAD_TO_DEG; if(euler.y>361) return_value = _fmod(360,euler.y); else return_value = euler.y; llOwnerSay("Adjusted for modulus:"+(string)return_value); if(llFabs(return_value) != return_value && return_value !=180) return_value = 360+return_value; else if((integer)return_value == 0 && angle == 0) return_value = 180; else return_value = llFabs(return_value) ; llOwnerSay("Adjusted for negative cater for -0 and -180:"+(string)return_value); return_value = return_value + angle ; llOwnerSay ("Original Angle: "+(string)euler.y+"Angle: "+(string)return_value+ "Angle To set to : "+(string)angle); return return_value; } Now this works upto a point but goes strange at 0 degrees or past 180 . I am feeding angles like this if(llList2String(r_list,1)=="All Up") {MoveRootRot(_getRotInAngleReqToBringToAngle(0), "z", LINK_THIS);} else if(llList2String(r_list,1)=="All Down") {MoveRootRot(_getRotInAngleReqToBringToAngle(180), "z", LINK_THIS);} else if(llList2String(r_list,1)=="All Left") {MoveRootRot(_getRotInAngleReqToBringToAngle(90), "z", LINK_THIS);} else if(llList2String(r_list,1)=="All Right") {MoveRootRot(_getRotInAngleReqToBringToAngle(270), "z", LINK_THIS);} But they don't always work depending on the current rotation. Can anyone help before i have no hair left Thanks for looking I know the code line above is a simple use of it but eventually I want to be able to provide it with any angle . Can anyone help no sarcastic comments please .
  16. I checked my script and memory usage my script was at 721 lines and had only 1200 left to load this list making this not possible . I opened a new script and got same routines loading from note card however the only transport is message linked this is simply not fast enough for sound wave . So I am back to original problem with this sound wave issue of non reading consecutive sound files with [bpm] in their name , Can someone in Linden look into this please ? Thank you
  17. Oh well i don't think this is possible thanks for looking , gives up with this as there is no help on the wiki about how to do this and am fed up with silly people show boating
  18. I am still getting this side affect of a big push at the start of the collision it doesn't matter what i do to remove it latest code used a bigger item with bigger mass and cylindrical Se video the Timer gave a delay that got the circle walk but to far away from the item as the initial push is still to high which we cant seem to avoid. rotation rot3ToQuat(vector deg) { return(llEuler2Rot(deg*DEG_TO_RAD)); } float magnitude = 5.0; default { state_entry() { llSetText("",<1.0,1.0,1.0>,1.0); } collision_start(integer num_detected) { float iv = 20.0; integer count= (360/(integer)iv)+(integer)iv; // interval in degrees each cycle ; vector i3rot = ZERO_VECTOR; // Starting rotation in degrees XYZ. vector origin = llGetPos(); // Take this to be the circle origin, for the sake of example. vector iForceVec; float ObjMass = llGetObjectMass( llDetectedKey(0)); float boxMass = llGetMass(); llSetTimerEvent(2); while(count--) { i3rot.z += iv; if(i3rot.z >= 360.0) i3rot.z = 0.0; iForceVec = <magnitude,0.0,0.0>*rot3ToQuat(i3rot-<0.0,0.0,90.0>); llSetForceAndTorque(<0.0,0.0,0.0>,<0.0,0.0,0.0>,TRUE); // for demo purposes only. llSetText((string)i3rot + "\nForce: " + (string)iForceVec + "\n Energy: " + (string) llGetEnergy() +"\n Mass: "+(string)llGetMass()+ " lindogram = 100kg." + "\nMag: " + (string)llVecMag(iForceVec),<1.0,1.0,1.0>,1.0); llPushObject(llDetectedKey(0),iForceVec,<0.0,0.0,0.0>,TRUE); llSleep(.2); // if(count <365) magnitude = 255.0; } llSetText("",<1.0,1.0,1.0>,1.0); } timer() { magnitude = 255.0; } } CODE
  19. Please ignore wolfies version I am guessing again from his previous show boat he did that he is not doing the same thing as usual as the code my college and me are testing why are you bothering to waste time writing something different you are not teaching anyone anything wolfie . The last time he said he could do something his code was totally different . I did ask you not to comment on my threads Wolfie as you gave no help! I have now put you on ignore sorry but i have asked you not to do this. Anyway his video showed no movement of the centre item so I know he is not using collision or PushObject as when you bump an item it has wobble on it at the size of mass he had.
  20. I am still not sure how to do this i have had to put wolfie on ignore list as his content is always unhelpful and just show boating.
  21. Ok I have had another look at this and I made a bigger box made of plastic 1.77m3 this still gives a ridiculous first push as you can see from video its un realistic and even the script cannot compensate for it I am hoping for some help? s if I can loose the initial kick i can get what I am trying to do working . Video https://youtu.be/LAJ6ZIaXHqE Code : rotation rot3ToQuat(vector deg) { return(llEuler2Rot(deg*DEG_TO_RAD)); } default { state_entry() { llSetText("",<1.0,1.0,1.0>,1.0); } collision_start(integer num_detected) { float iv = 20.0; integer count= (360/(integer)iv)+(integer)iv; // interval in degrees each cycle float magnitude = 5.0; vector i3rot = ZERO_VECTOR; // Starting rotation in degrees XYZ. vector origin = llGetPos(); // Take this to be the circle origin, for the sake of example. vector iForceVec; float ObjMass = llGetObjectMass( llDetectedKey(0)); float boxMass = llGetMass(); while(count--) { i3rot.z += iv; if(i3rot.z >= 360.0) i3rot.z = 0.0; iForceVec = <magnitude,0.0,0.0>*rot3ToQuat(i3rot-<0.0,0.0,90.0>); llSetForceAndTorque(<0.0,0.0,0.0>,<0.0,0.0,0.0>,TRUE); // for demo purposes only. llSetText((string)i3rot + "\nForce: " + (string)iForceVec + "\n Energy: " + (string) llGetEnergy() +"\n Mass: "+(string)llGetMass()+ " lindogram = 100kg." + "\nMag: " + (string)llVecMag(iForceVec),<1.0,1.0,1.0>,1.0); llPushObject(llDetectedKey(0),iForceVec,<0.0,0.0,0.0>,TRUE); llSleep(.2); if(count <365) magnitude = 255.0; } llSetText("",<1.0,1.0,1.0>,1.0); } }
  22. @Qie Niangao Oh lord it now gets to 8 loaded not 15 . I substituted your simpler GetNotecard () [08:28] PS 1.06: (DEBUG) Line : 0, DATA Candle in the wind (Piano Arrangement)-01 98.44 [08:28] PS 1.06: (DEBUG) Line : 1, DATA Candle in the wind (Piano Arrangement)-02 97.51 [08:28] PS 1.06: (DEBUG) Line : 2, DATA Candle in the wind (Piano Arrangement)-03 91.74 [08:28] PS 1.06: (DEBUG) Line : 3, DATA Candle in the wind (Piano Arrangement)-04 99.39 [08:28] PS 1.06: (DEBUG) Line : 4, DATA Candle in the wind (Piano Arrangement)-05 93.97 [08:28] PS 1.06: (DEBUG) Line : 5, DATA Candle in the wind (Piano Arrangement)-06 100.84 [08:28] PS 1.06: (DEBUG) Line : 6, DATA Candle in the wind (Piano Arrangement)-07 93.97 [08:28] PS 1.06: (DEBUG) Line : 7, DATA Candle in the wind (Piano Arrangement)-08 93.4 Next line is 9 Candle in the wind (Piano Arrangement)-09 92.29 no different copy pasted from notecard. Error Copied from console [08:28] PS 1.06 [script:_Multi-Sitter 1.04] Script run-time error [08:28] Stack-Heap Collision
  23. @Andrew Linden Ok I have had another look at this and put llGetEnergy() into script to determine if the system has full energy which it does 1.0 at all times so I still do not understand what is happening. Some experimentation has determined that : 1) this first push is annoying it puts my avatar out of range and is unhelpful. 2) My walking is not putting in more energy par ce! As I get close to the proximity to the box the forces start affecting my avatar to make it rotate in a circle. 3) As no force is being depleted here why is there this initial un realistic force and why are my other pushes not doing same thing if the energy stays at 1.0? 4) There is no fall of of energy then so please can you explain this ? Video showing initial un proportionate force and the no effect on Energy continues at 1 https://youtu.be/AODz6eTSumU Code: rotation rot3ToQuat(vector deg) { return(llEuler2Rot(deg*DEG_TO_RAD)); } default { collision_start(integer num_detected) { integer count= 360; float iv = 20.0; // interval in degrees each cycle float magnitude = 255.0; vector i3rot = ZERO_VECTOR; // Starting rotation in degrees XYZ. vector origin = llGetPos(); // Take this to be the circle origin, for the sake of example. vector iForceVec; float ObjMass = llGetObjectMass( llDetectedKey(0)); float boxMass = llGetMass(); while(count--) { i3rot.z += iv; if(i3rot.z >= 360.0) i3rot.z = 0.0; iForceVec = <magnitude,0.0,0.0>*rot3ToQuat(i3rot-<0.0,0.0,90.0>); llSetForceAndTorque(iForceVec,<0.0,0.0,0.0>,TRUE); // for demo purposes only. llSetText((string)i3rot + "\nForce: " + (string)iForceVec + "\n Energy: " + (string) llGetEnergy() +"\n Mass: "+(string)llGetMass()+ " lindogram = 100kg." + "\nMag: " + (string)llVecMag(iForceVec),<1.0,1.0,1.0>,1.0); llPushObject(llDetectedKey(0),iForceVec,<0.0,0.0,0.0>,TRUE); llSleep(.2); } llSetText("",<1.0,1.0,1.0>,1.0); } }
  24. ok thanks but its building a list of lines from the notecard to a list
  25. @MollymewsYou seem to refer to conservation of momentum not not a perpetual motion engine. I understood you informed me llGetMass() the mass of the box is 1.25 and is a cube 0.5x0.5x05 in size This is pretty normal for a test . @Andrew Linden I hope you do not mind me saying However my answer is not being answered . I wanted to know why the magnitude of force was being given straight in first push . Then every time it was applying the same force this force diminished unrealistically. You can see from the video that the forces are changing just as first push is used with one big push then nothing that moves . If you begin to walk and stop this same force moves you in desired circle which it did not do before pushing in one direction even though the push is rotational . Is it because its not being given an impulse vector, is this required or is there someway to upload more energy to the system? I would expect the angular force to do what it should alone I cant see what mass will do other than multiply the force . which is not being applied correctly . each cycle of the while loop changes the bearing why is this not happening with same force as first one .
×
×
  • Create New...