Jump to content

DragonWhisperer

Resident
  • Posts

    15
  • Joined

  • Last visited

Reputation

1 Neutral

Recent Profile Visitors

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

  1. After much trial and error, I finally understand how to get a working fitted mesh avatar with custom joint positions uploaded. Shape sliders didn't accomplish the bone changes I wanted, so I hope this helps if you're in the same boat. Here's a list of guidelines that work for me (using the .blend file from Linden Labs): 1. Even though the new collision bones (RIGHT_PEC, LEFT_PEC, UPPER_BACK, etc.) are included in the .blend file, only the BUTT, LEFT_PEC, RIGHT_PEC need attention if you want to have any bounce or wiggle. I'll refer to these new bones as cBones. 2. You can weight to the mBones like you always have, so unless want your custom avatar to use body shape sliders, you can delete all the new bones, save the three that use physics. 3. Delete the custom properties from all mBones. SL will handle those bones without any under-the-hood tinkering. We actually only need the custom sbx_location_x, sbx_location_y, and sbx_location_z values for positioning the remaining three cBones in our Blender rig. 4. Do not alter the custom properties for BUTT, LEFT_PEC, RIGHT_PEC. Ever. 5. SL will position all the cBones to match the mBones upon upload. 6. If either mPelvis or mChest are not in the exact same location in your custom rig as in the default rig, you need to manually position the cBones so that your mesh will bind to them where SL will render them. For example: In your new rig, you moved the mChest bone by -0.15 along the x-axis and by +0.3 along the z-axis (I'm referring to the bone's "head" location here). To place RIGHT_PEC where SL will automatically place it, select just the head of the mChest bone and "move cursor to selection". Our 3d cursor location in the properties pane (press "n" to toggle) should now be the same as the head of mChest. Now, add the sbx_location_x, sbx_location_y, and sbx_location_z values to the 3d cursor's x, y, and z locations. Select the RIGHT_PEC bone, then "snap selection to cursor". Repeat for LEFT_PEC and BUTT. 7. You will need to upload the rig and mesh separately. 8. Delete any key frames. 9. Be sure to apply location, rotation, and scale to the armature and your un-parented mesh. 10. Edit the armature, select the three cBones and move them to a different bone layer. Be sure that ALL bones are set to "deform". 11. Add an object to your scene. It can be a single triangle. I use a square placed where it will never be seen under the avatar mesh. 12. With only the bone layer with the mBones active, parent the new object to the armature. Just let it generate weights. IMPORTANT: Verify that the object's vertex groups only list mBones. Even empty cBone groups will mess up your uploaded rig. [note: be sure that your rig is in "rest position" and not "pose position"] 13. Export as SL-OpenSim Rigged. 14. Upload using vertex weights and joint positions. 15. Activate both bone layers so that the three cBones are now visible too. 16. Assuming you already have a weighted mesh, parent it to the armature with empty groups. 17. Export as SL-OpenSim Rigged. 18. Upload using vertex weights only. Attach them, and all should work...
  2. With the standard avatar you can enable physics to control belly, breast, and butt bounce. Is it possible to build in the morph targets into a rigged mesh avatar and make the physics module point to the rigged mesh rather than the default Ruth mesh?
  3. I'm using Blender 2.49b, the Jass pub version. Is there a way to alter bone lengths and joint positions and import them to SL? I read Gaia's post concerning joint positions and an export fix for Blender 2.6. Is this the issue I'm facing? Is it simply not possible to change the default armature and export it in v2.49b?
  4. I had this issue until just now. I discovered that the avatar.blend file i was using did not have vertex groups for mRightFoot and mLeftFoot. Adding them gave me the 21 vertex groups for my custom avatar mesh. I assumed since i'm using the avatar.blend that came with JASS that all the vertex groups were populating when I ran the bone weight copy scripts. I assumed wrong.
  5. So an attached object cannot detect if it has moved or are you saying that if I am wearing a prim hat and start a dance animation, as far as the server is concerned, the prim hat stays at the same global/local position even though the animation might have me moving several meters in different directions?
  6. I have a necklace that has a two prim chain joining at each side of the neck. Is it possible to detect neck movement? I'd like the front part of the chain to hang toward the ground if my avatar bends over and also swing side to side if the avi's neck moves/spins side to side. I was considering using code that detects movement in the other chain prim since it should move with the attachment point, but again, can I detect the direction and speed that it moves in?
  7. So, I have a linked set of prims with which I use a timer event running every .5 seconds that calls a user defined funmction that in turn calls llSetLinkParametersFast to change the position and rotation of each. All that works fine. However, the spinning light cloud that appears when you rez an object appears when I enable my script and never stops. Anybody know why? If I comment out the llSetLinkParametersFast line, the spinning cloud goes away, so I'm fairly certain this function is the culprit.
  8. Thanks for sharing your research, Cid. Exactl what I needed...almost. What would you gather an average wind speed might be based on your research?
  9. I know llWind returns a vector from which llVecMag, or your own math, can be used to determine the wind's strength, but what range of magnitudes will SL generate? I'm working on something that will react based on wind magnitude and need to know what the average SL wind speed is and to what extreme magnitude values my code should consider. Adding this info to the LSL functionh description page would be nice too.
  10. Ah! That explains it. I'm not crazy after all. I hope. Thanks for explaining the archiving code trash issue.
  11. I've been seeing posts that use syntax like llSetLinkPrimitiveParamsFast(x,); and llSetLinkPrimitiveParamsFast(x, ); -- the first omits a space after 'x,' and apparently that makes a difference. I've read as much as I can find about this and similar functions and am at a loss as to how this usage is valid. The function description on the LSL Wiki says nothing about what happens when you omit the list parameter. Can someone explain this please?
  12. When a flexi is 'fexinng', is there a way to determine the x, y, z coordinates of, say, the end of a flexi cylinder waving in the breeze?
  13. Perfect! Learning all the time ;-] Thanks
  14. That works, except now when I rez the object from inventory to edit it, its script runs and the object dissapears. Is there a way to rez from inventory for editing without having their on_rez scripts run?
  15. I want an object to rez another object that has a short lifespan, say, 1 second. My problem is that when editing the script within the object, the script runs upon saving it and the object disappears before I can take it into inventory. If I uncheck the "Running" box, the script won't run when the object rezzes. How can I get around this so I can drag an auto-run script into the object?
×
×
  • Create New...