Jump to content


  • Content Count

  • Joined

  • Last visited

Posts posted by animats

  1. I hadn't noticed that. But I made my bikes so robust that they shrug off minor road problems.

    I rezzed one of the free GTFO vehicles, the "Benzz K7 GTFO Offer", and it cannot cross onto a "LH - Traditional Road - Curve 2/4 Section" which is a convex hulled object that includes both curbs, sidewalks, and road. The physics model is at curb height across the road, and that vehicle gets totally stuck. Setting that to "convex hull" mode was wrong, because it's concave, and it matters for that object.

    I would expect a bump, but the vehicle should not get totally stuck.


    Front end of the test vehicle. I've made the "sled" prim the vehicle rides on visible. (All SL ground vehicles really slide; they don't roll. Rolling is an illusion builders work to create.) This is a much steeper front end than I use on my bikes; they have a flattened convex mesh ellipsoid supporting them, and that will slide across almost anything. But this should work. It will, in fact, go over curbs the same height as the trouble spot.


    On the left, a prim cube, resized. On the right, a mesh cube, resized. Same dimensions.

    This vehicle can drive over the prim cube, with a bump, but gets stuck trying to drive over the mesh cube. Doesn't matter whether the mesh cube is set to "prim" or "object" mode. That's unexpected. Not clear why yet.




  2. 5 minutes ago, Kyrah Abattoir said:

    I think they go on the guideline that since SL is 100% user generated, there is literally zero guarantee that the content will abid to... well anything.

    Twitch allows Minecraft, which is 100% user generated. And yes, there is Minecraft porno.

    • Confused 1

  3. 1 hour ago, CarterTom said:


    Unfortunately, it still is.

    That's something that LL management should be taking up with Twitch management. It's embarrassing that SL is in the doghouse on Twitch. This hurts new user acquisition. It's embarrassing to SL users who'd like to show SL to their friends.

    Twitch's detailed policy reads "Games featuring nudity, pornography, sex, or sexual violence as a core focus or feature, and gameplay modified to feature these elements are entirely prohibited. Occurrences of in-game nudity are permitted, so long as you do not make them a primary focus of your content and only spend as much time as needed in the area to make progress." SL could meet that standard outside of Adult areas.

  4. On 6/21/2019 at 1:55 AM, Mollymews said:

    when a sign is over 8 meters tall then contravenes the mainland ad farm policy.  http://wiki.secondlife.com/wiki/Linden_Lab_Official:About_ad_farms_and_network_advertisers

    some newer people who get into making mainland ad networks don't know about this policy as the mainland parcel About Land \ Covenant says No Covenant. With newer accounts, maybe before AR then a IM to them with a link to the policy

    Yes. Visit the south end of Corsica and head west on the coast road, and you'll see a few large signs on tiny parcels. File ARs. Oversize, encroaches on Linden land, glows - all reasons to AR. Amusingly, the biggest ones are ads for ad space. They don't have actual customers or revenue. They seem to have bought up some of those little "Taxi" ad stands and put huge signs on them. So much uglyness with no benefit to anyone.

    (Corsica really needs some more roads through the under-utilized abandoned land in the interior. Once you get 100m from road or sea, it's mostly bleak abandoned land. LL might plant forests on abandoned land. If they used good trees, SL could have leaf tourism.)

  5. On 6/22/2019 at 9:48 AM, LittleMe Jewell said:

    There used to be a place in SL - at least up until sometime in 2017 - that gave a year by year history like that.  It isn't there any more, or at least not at the last LM that I had for it.

    There's an SL history museum near the Ivory Tower, but it's not year by year.

  6. On 6/20/2019 at 7:25 PM, Caerolle Llewellyn said:

    I just visited the Tapestry of Time section. Extremely depressing. All the places I loved are gone, all the people I loved are gone. The only thing that lasts in SL is lag, and wow, I am experiencing perhaps the worst lag I have ever had in SL. The one thing I would love to see go, and way back in the day I stupidly thought one day LL would actually fix it.

    2017-2019 is rather depressing. 2017: "Linden Lab gives premium members the ability to view 90 days of their transaction history."

    • Like 1
    • Haha 6

  7. 3 minutes ago, Qie Niangao said:

    A sort of Level of Detail in overall dynamic avatar representation as a function of crowd size and distance.

    That's working now in the viewer. In Preferences, set "Number of non-impostor avatars" to about 3. The viewer will no longer choke on large numbers of avatars. The sim still will.

  8. On 6/21/2019 at 2:15 AM, Theresa Tennyson said:

    Second Life at its height has never had concurrency greater than that of Topeka, Kansas. When it was at its highest the system was threatening to tip over under the load. Meanwhile today, with average concurrency around half of its peak, there are still regions that regularly are unable to support all the people who want to go there for certain occasions.

    Second Life is a tiny niche and can't be anything else with the current technology.

    Yes. Draw a crowd in SL and the sim overloads. This is a severe limitation on SL.

    I think it's technically possible to fix that within the current architecture, but it's a bigger job than the current dev team can tackle. And once it worked, you'd need multiple CPUs per sim, running up server costs.

  9. 5 hours ago, Beq Janus said:

    OK, so....we're all kinda right.

    @animats is right that the viewer is able to generate mesh that the user is not (currently) allowed to upload, kind of.

    Yours truly is right that it is impossible to upload a mesh asset that does not have matching material counts for each LOD.

    @Aquila Kytori is on the right track, that the "unused" materials are assigned a placeholder. The placeholder is a single triangle of zero size. Which somewhere along the way must be decaying to a single vert in the export. I'm not inclined to chase that squirrel just yet.

    Here is what is happening at upload...

    The entry of a key, with the string "NoGeometry" creates an entry in the mesh asset for that material, thus fulfilling my requirement above, there is no way for a user to create this themselves.

    Thanks for all that work.

    "NoGeometry" is not unexpected. That's a documented feature in the mesh file format:

    ""NoGeometry" -- optional, boolean, must be true -- If present, there is no geometry for this submesh. This submesh is just a placeholder to let the simulator/viewer know that there is a texture entry for this submesh with no geometry at this LoD. No additional fields may be specified if "NoGeometry" is present." - from http://wiki.secondlife.com/wiki/Mesh/Mesh_Asset_Format

    5 hours ago, Beq Janus said:

    You really really need to have actual mesh to render or it would require all kinds of additional sanity checks and edge cases, so it creates some dummy geometry to act as a sentinel.

    A bit ugly, but gets the job done.

    5 hours ago, Beq Janus said:

    I need to think more about it and consider the inverted cases such as imposters where you effectively have a null material in the High, that acquires mesh data in the lower LODs. 

    Right. That's why I originally wanted this. I wrote an impostor generator for Blender which generates a low-LOD mesh with a new material not present in the higher detail LODs-. I didn't want to modify the user-created higher level of detail model, adding dummy triangles and materials. That would confuse the user, and possibly mess up something they're doing. Mesh cleanup on their model might delete the dummy triangles, for example. Some mesh functions will try to do something with the dummy triangles, confusing the user. Running the impostor generator more than once might add dummy geometry on each rerun, and preventing that requires bookkeeping data somewhere. So, not a good solution.

    I read the documentation and found the "NoGeometry" file data item. If only I could generate that...


    if we can come up with a better solution that allows the uploader to recognise this without making it harder for users to debug their genuine material cockups...

    Yes. The Firestorm uploader has useful messages about what matches and what doesn't match across LODs. But the messages are in the "Firestorm.log" file, which only developers read. If those messages were displayed to the end user during uploads, there would be much less confusion about material and object matching problems.

    Thanks for chasing this down. Now what?

  10. On 6/7/2019 at 12:02 PM, Yorkie Bardeen said:

    I won't argue against the social/psychological theories for dystopia, but I will suggest also that SL mostly lent itself to a darker, more confined version of the future. Open spaces are harder to realize than dense urban scenes- SL is quite small and cramped in terms of pure square meterage.

    There used to be a "Route 66" sim which was a small town in the middle of a big empty desert. It's gone. Nobody can afford a big empty desert in SL. I'd like to have long roads through unpopulated woods, open country, mountains, and such, connecting some points of interest. That's sort of what "open space" sims are for, but they are not used much. We do have that long open water route between Bellesaria and Jeoghot now, but there's nothing comparable with land.

  11. 11 hours ago, Beq Janus said:

    I'll have a look at how it works when I get a chance. but yeah, as far as I can tell there is absolutely no way to upload a mesh without having at least one triangle per submesh (where a submesh is what we're calling material)

    what you are seeing as vertices are probably very tiny triangles is my guess.

    However, until I look that remains conjecture, so I'll take a peek when I can

    Thanks. Somehow the built-in LOD generator pulls this off. Tiny triangles? Degenerate triangles? I dunno.

  12. 14 hours ago, Qie Niangao said:

    If we learned anything from adfarmers, it's that a ridiculously small amount of tier can buy an appalling lot of ugly. Microparcels are weapons of extreme asymmetrical warfare.

    Er, yes.


    Censored to avoid naming and shaming, per policy. This thing is huge. 25 meters high on a 4m x 4m parcel. That's a standard size Linden road in the background. The sign overhangs the road. This one is in Corsica. There are probably more.

    • Like 1
    • Sad 1

  13. Some test results:

    [23:57] Array update timing test 0.3: Timing tests.
    [23:57] Array update timing test 0.3: Fill array of 1024 in 2.313786 secs.
    [23:57] Array update timing test 0.3: 1024 updates to list of 1024 elements in 4.798160 seconds.
    [23:57] Array update timing test 0.3: Fill array of 512 in 0.421613 secs.
    [23:57] Array update timing test 0.3: 1024 updates to list of 512 elements in 2.094694 seconds.
    [23:57] Array update timing test 0.3: Fill array of 256 in 0.088729 secs.
    [23:57] Array update timing test 0.3: 1024 updates to list of 256 elements in 1.275658 seconds.
    [23:57] Array update timing test 0.3: Fill array of 128 in 0.039960 secs.
    [23:57] Array update timing test 0.3: 1024 updates to list of 128 elements in 0.670230 seconds.
    [23:57] Array update timing test 0.3: Fill array of 64 in 0.039129 secs.
    [23:57] Array update timing test 0.3: 1024 updates to list of 64 elements in 0.674368 seconds.
    [23:57] Array update timing test 0.3: Fill array of 32 in 0.000000 secs.
    [23:57] Array update timing test 0.3: 1024 updates to list of 32 elements in 0.601021 seconds.
    [23:57] Array update timing test 0.3: Done

    Performance is independent of list length up to 128. Then it gets worse, linearly. So using multiple lists no longer than 128 seems to be an useful optimization.

  14. I doubt there's a faster way, but I'll ask anyway.

    Is there any way to update a single element in a list, by index, that's faster than llList2List? I know, lists are immutable and a new one has to be created for every update. I was hoping that, just perhaps, there was a built in Mono optimization for

    lst = llList2List(lst, [n], ix, ix);

    which could, if recognized by the compiler as a special case, be done very efficiently. But there's not. Making 1024 random updates to a list of 1024 integers takes 4 seconds in Animesh 1 on the beta grid and 8 seconds in my home sim. Because, of course, it's recopying the whole list for every update.

    Is there any trick for manipulating large arrays in LSL?

    (I'm trying to write an A* algorithm. Doing this in LSL is like pounding a screw.)

  15. On 6/18/2019 at 7:17 AM, Vir Linden said:

    Thanks for the comments! We currently have a project underway to improve some of the pain points with mesh upload. We could potentially tackle more things there, with a strong preference to anything that's well defined and limited in scope. As Beq says, the best way to get this kind of thing looked at is to file a JIRA; new bugs filed as feature requests get evaluated weekly.

    I'm trying to get some consensus on how this ought to work first. You can't discuss that on the JIRA system, because you can't comment on other people's JIRA entries. So this is a good place to discuss it. A JIRA will follow if there's reasonable agreement on how this should work.

  16. cylindertest04.thumb.png.bdf2e913b7c03b6e10178e0af205fec4.png

    Cylinder at medium LOD. Four sides, four colors, a tetrahedron.

    I've looked at it in wireframe, and I've looked at it at very close range. There are only four triangles and four colors there. The extra materials aren't hidden inside; if you get the viewpoint inside the object, you see nothing, since the faces are one-sided. I don't know how the lower-LOD generator makes the unwanted materials go away, but it definitely does it.

    • Like 1

  17. 6 hours ago, Beq Janus said:

    If you can find a mesh that reproduces this then I'll definitely dig into it. I don't believe it is the case because the internal mesh asset format has no way to deal with such an eventuality. I believe that at least one of the MAV missing level of detail messages is due to this. I will have a look when I get some spare cycles.

    What happens if you force the uploader to generate fewer triangles than materials in the lower LODs? This.


    Simple test case - 8 faces, each a different material and color

    This was uploaded with the default generated LOD settings, which forced all the lower LODs down to 8 triangles.



    Low LOD. It looks like two triangles, one on each side. But mesh information says 8.



    Same thing in wireframe. Only two triangles. Unless maybe they're on top of each other? I'm not seeing the texture-fighting that usually happens when you have coincident triangles, so that's unlikely.

    Somehow, the uploader disposed of 6 of the 8 materials for the low LOD. But what did it do with them? It looks like the reduced mesh generator can get rid of unwanted materials, somehow. Even if we can't do that with manually generated LOD files.

    I left this object at Animesh1/145/212/23 on the beta grid if anyone wants to look at it.


  18. workflow_2x.png

    • Alphabetical ordering of prims. Yes, as Beq points out, it's silly. But the uploader used to follow the order in the .DAE file, which you can make Blender sort alphabetically. Or so says this forum comment. That's why I suggested the current random behavior should be made to work the way the only available documentation says it does. Anyone have a better idea? Logically, you'd have the root prim as the parent in the Blender/Maya hierarchy, with the child prims under it. But (I think) parenting is currently interpreted as "merge all the children into one mesh".So that's out.
      7 hours ago, OptimoMaximo said:

      What i try to convey here is that, since the nature of collada files and the uploader don't cater to your needs (as Beq explains above), nothing stops you from writing a utility script Blender/LSL that does a link order change for you automatically based on your Blender scene's selection of objects. Python is pretty powerful and has a lot of tools to very easily manage strings and arrays.

      Nothing you do Blender-side helps when the linking order gets randomized during upload. I need to construct some test cases, but some weird sizing problems seem to appear in out of order link uploads. More on that later.

    • Removing the restriction of all LODs having exactly the same material list. Documentation claims the lower LODs only have to be a subset of the higher LOD. The error message even reads "Material of model is not a subset of reference". And when the built-in mesh reducer is used, it can create models that don't use all the materials. Find out how the "Generated" LOD system does it, and that should help to figure out how to do this.

  19. 8 hours ago, Luna Bliss said:

    Could Spatial OS come to SL once they fly to the clouds? :)   But...I don't know...it seems SL has sharply veered off from any type of metaverse scenario, but sure would be good to have region crossings be smoother.  Wouldn't SL have to be rebuilt from the ground up and break existing content?

    Wow we can get into Sominium Space now, beta...I might try it out.

    SL on Spatial OS has business problems. You have to host on Google's servers, and it's not cheap with a large user base and lots of in-world objects. Which is why they lack AAA titles. But if they solve the scaling problem, someone else will probably do something similar, minus Google.

    • Thanks 1
  • Create New...