Jump to content

Phate Shepherd

Resident
  • Posts

    214
  • Joined

  • Last visited

Posts posted by Phate Shepherd

  1. Strided lists are great for uniform data like a fixed number of items, each with a fixed number of associated data points.

    If you need more flexibility, the JSON facilities in LSL can come in pretty handy. It is really nice to be able to refer to an item by name instead of by a fixed position in a list. The downside it is it a little slower than using lists. The upside it your script can be dynamic and potentially be designed to deal with future objects.


    integer count = (integer)llJsonGetValue( gInventory, ["sword", "count"] );

    Essentially you are using a string, gInventory in this case, to hold a JSON data structure (a sort of simplified XML). It is a little confusing at first to wrap your head around, especially when creating/updating values, but it really has a ton more power than lists.

  2. For the examples above that look for the named prims and assign the link number to a global, I would highly recommend adding the following as well:

    default
    {
    
      // All yer other default state code
    
      changed(integer change)
      {
        if (change & CHANGED_LINK) 
        {
          // Either reset your script or call the routine that scans for link names
          llResetScript();
        }
      }
    }

    The point of this is: If you unlink/relink your object and don't update the globals that are holding the link numbers that you are changing, your script will make changes to the wrong prims. This prevents that from happening by updating the stored link numbers any time the linkset is changed.

    • Like 2
  3. 5 hours ago, Chaser Zaks said:

    I believe this is because the background is by default set to transparent.

    Try adding this to the css:

    
    html,body{
     	background:#ffffff; /*White background should force it to look normal*/ 
    }

     

    You can do the CSS in-line. This should work. You may need to change the font size, and justification settings to your liking.

    UTFText = "My UTF text... Chinese, Japanese, anything.";
    
    html = "data:text/html;charset=utf-8,<head><style type=text/css>body {background-color:White; font-family:sans-serif; font-size:40px; display:flex; justify-content:center; align-items:center; text-align: center; } </style></head><body>" + UTFText + "</body>";

    BTW, I haven't encountered text that needed to be URL escaped doing it this way. Have you? Then again, I want HTML to survive being passed in, and users don't have control over what is displayed.

    • Like 2
    • Thanks 2
  4. I put that bug report on the Jira about a recent patch to IE11 causing the marketplace slowdown, but nobody else could repeat the issue. Maybe I'm not crazy after all!

     

    Feel free to add to the comments in that bug report if your symptoms (and IE version) match.

  5. With the new bones in Bento, I'd like to continue to offer in-world posing and support the new bones. Problem is, they can be used in pretty much infinite ways... rotated and translated in any way a designer wants. So, the old way of doing in-world posing on these bones is impractical if not impossible.

    I've created a jira feature request for bento in hopes we can get some scripting support for avatar armatures so that in-world posing of the new bones is possible.

    If anyone wants to comment or look it over, the entry is here:  https://jira.secondlife.com/browse/BUG-11407

  6. My first guess would be to delete the .slm file that is created when you first upload the mesh. There is also a debug command where you can get SL to not rely on the .slm files....

    Dig a little in the forums, it was suggested first by someone else.

    You can also rename the file to test that theory.

    When you upload your rigged mesh, make sure to check the "show joints"  above the preview window to check you are getting what you expect.

  7. In the component editor, the bones show, but the grid is empty and the slider is disabled.

    It isn't a big deal. Heck, there are a lot more issues that I need to fight through.... Like using the interactive bind system which makes a lot more sense to me than smooth bind. (It works, but child meshes don't go along for the ride like they do with smooth bind.

  8. One thing for me that was messing up uploading rigged avatars from Maya was accidentally having the rig in a group.

    You may want to open Hypergraph, and verify that your rig is not part of a group (mPelvis should stand on its own in the heirarchy.)

    If there is anything above mPelvis, select it, and ungroup.

     

  9. Any Maya pros know how to mark a joint so that it is part of the rig, but weigting the mesh to the rig ignores those joints?

    For example, when weighting an avatar mesh to a rig, I don't want the mesh weighted to mEye(Left/Right) or mSkull.

    I have tried to bind to "only selected joints" but I can't find a way to deselct the Eyes and Skull.

    I can fix it post binding, but that is a pain.

     


  10. Nix Manx wrote:


    Marcthur Goosson wrote:


    Rusalka Writer wrote:

    How to be sure? Make your products from scratch yourself.

    And be sure not to be inspired by anything :matte-motes-big-grin:

    Or if you are, don't tell anyone :matte-motes-grin:

    Its getting to the point that if you want to make, say, a 3D horse mesh, you would be good to visualize a cow while you work.


  11. Rusalka Writer wrote:

    How to be sure? Make your products from scratch yourself.

    Absolutely! If I have the time and the patience, that would always be my preference. But, if the time I spend is worth more than the purchase price, I have no problem spending the money on a mesh if it meets my needs, and there are no legal issues.


  12. Ishtara Rothschild wrote:

    What this kind of license means is that you may distribute a self-made game that includes these Turbosquid 3D models in a file format that can't easily be converted into mesh. What you can't do is distribute the models themselves in any way, neither on sites like Renderosity nor in SL.

    ETA: This is similar to the license of most texture creators in SL. You may use their textures in your commercial builds, but you can't resell the textures themselves. In this case, SL does not qualify as a game because you didn't create and host SL. You would only be using SL as a sales platform to resell the 3D models, and that is not allowed according to this license.

    I understand and agree with that. But after taking the LL IP tutorial, they avoid the fine grained details like:

    Say I purchase a 3d horse model. I turn it into a product and resell it. I do not sell the mesh full perm. Is that OK? By my reading of the license, I am not redistributing the mesh for reuse, it is for direct sale as an item.... no different than selling a game or movie that contains that 3d character. If that is not a legitimate use of the mesh, then why doesn't the license simply state "YOU CAN"T UPLOAD THIS TO SL". Done.

     

  13. IP rights frustrate the crap out of me. Not because I don't want to follow them, but because the licenses are so often written in a way that they are either vague, or I don't grasp them.

     

    For example, some objects on Turbosquid have a license that states the purchaser can resell the object as part of a game if the binary form of the object is in a proprietary format.... well... does SL qualify for that? You can't re-download mesh items. Even if you could, they are in a proprietary serialized format. After going through the LL mesh tutorial to be granted access to mesh upload, I don't know now if they would even care about the Turbosquid license.  "Well, its from Turbosquid. We don't care if you paid for it, or how the license reads.... we are deleting it to cover our butts."  A few of the "correct" answers to the IP tutorial leaned heavily toward CYA.

     

×
×
  • Create New...