Jump to content


  • Content Count

  • Joined

  • Last visited

Posts posted by animats

  1. On 8/30/2019 at 12:35 AM, smirkingdevil said:

     Everything worked great, except for one chair, which appears as a triangle from just a few meters away, but pops into view if closer or sitting in the chair.  All other items purchased from the same vendor work just fine and can be seen from across a room while they are next to the bugged chair.  I contacted the store owner and she stated my “LOD” was set too low.

    No, your LOD is not too low. That product is badly designed. Long story, but I'd ask for a refund. Common problem with furniture.

    If you have to crank up the viewer's LOD factor, SL will run slower. Not worth doing for one crap chair.

  2. New discovery recently. If you take a building that has interior floors and stairs, and set the entire building's pathfinding type to "walkable", it works! Floors are walkable and walls are static obstacles. If the physics model is reasonable, that's all you have to do. No need to prep the object for pathfinding. Needs to be tested more, but I've tried it on two buildings in a sandbox and it worked.

    Somebody got this right years ago but didn't document it. The feeling I get about pathfinding is that somebody really good designed it, but before it was finished, they left.

  3. The viewer and GPU can draw some number of triangles per second. Divide that by the minimum allowed frame rate, at least 20, higher for gamer hardware, and you get the rough triangle budget for a frame. For textures, the general idea is to have an roughly equal number of texture pixels per screen pixel across all the textures. Those set the general objectives for the viewer.

    The viewer can adjust the texture resolution and the mesh level of detail displayed. So it has the power to make that happen. Right now, the strategy for which level of detail to show is based on fixed distances, but it could be dynamic on a per object basis to achieve those goals.

    So, if the viewer is set up like that, what does that mean for content?

    In a crowded scene, you're only going to see the highest level of detail if you're really close. How close depends on how busy the scene is. If you're alone in a walled room with something elaborate, you're going to see it at full detail. Hair Fair, now going on, is set up that way, with each exhibit in its own little hut. If everything is out in the open, as at Fashion Week, almost everything will get kicked down a LOD or two unless you're really close.

    If Arctan works like that, then levels of detail work like this:

    • High: as fancy as you want, but the more complex you make it, the closer people have to get to see it at full detail.
    • Medium: had better look good, because that's what people will usually be seeing. But bake everything you can into flat textures.
    • Low: should at least look OK.
    • Lowest: at least cover the entire area of the object. Triangles and holes means loser designer.

    This should apply to avatars as well as fixed objects. It already applies to animesh, so switching avatars over can't be hard.

  4. valerievsdacy.jpg.1cc49e47c709afc9ae8579b7c3383a3e.jpg

    Valerie on the left, Dacy at right.

    I've been working on pathfinding NPCs for some time now. It's been a lot of work, but success is in sight. Here are my two characters, Valerie and Dacy. They're on the same parcel, and they have the same behavior goals, but use completely different systems. So anyone can compare the two approaches.

    Valerie uses SL's system pathfinding. Plus extensive recovery code. If you run SL pathfinding and are trying to get to a destination in anything but total open space, something will go wrong within 30 seconds. (That's why most pathfinding characters just do "Wander" - it keeps going and does something random.) Most of those problems can be overcome. More or less. In overloaded sims, pathfinding breaks down.

    Dacy uses a completely new system, which I wrote over the summer. This starts with llGetStaticPath, which quickly returns a path based only on static obstacles. llGetStaticPath finds a path on walkable surfaces, considering only static obstacles. Width is considered, but height is not. So you get a path which may go through avatars, under tables, and through anything not in the static navmesh, like a parked car. So, the new system makes lots of llCastRay calls to check for obstacles, and has a full maze solver for the hard cases. My planner then turns out a list of keyframes for llSetKeyframedMotion, which moves the character. During motion, more llCastRay calls and collision events check for changes in the world. If something stops the character, the whole planning process is started over from the current position, taking into account the new obstruction. During the several seconds needed for replanning, Dacy folds her arms and looks around, annoyed.

    The overhead on this is not too bad. Ten characters use about 2-3ms per frame. So somewhere between 10-20 characters, the overhead level of built-in pathfinding is reached. I've tried 50 characters; that used half the script time in an empty sim. In an overloaded sim, movement still works fine, and at full speed. The arms-crossed poses are longer, as Dacy waits to get enough script time to plan.

    Dacy can move much faster than Valerie. If I turn Valerie's speed up, she bumps into things. If I turn Dacy's speed up, she moves fine, and stops occasionally at the difficult points while the planner catches up. I usually have her walking at normal SL walk speed. She can run fast if needed.

    Stop by my place in Vallone and take a look.  Comments welcomed. All this is still experimental; there's no product yet.


    • Like 1
    • Haha 1

  5. 6 minutes ago, Profaitchikenz Haiku said:

    There is a Russian plane?? that uses ground-effect exclusively on water, it never flies above a few metres, I can't recall the name of it now but it was something like dragon.



    Flies about 6 meters above the water. Doesn't have enough wing or power to get out of ground effect. Much faster than a ship.

    • Thanks 1

  6. On 8/27/2019 at 6:04 AM, OptimoMaximo said:

    Years ago, when materials were just introduced, i made a piece of clothing, I'll call it Y. Made it in the software everybody use for that, then i remodeled it to have a nice topology and better rigging. I used all the techniques that are used in game development at the time, and used the normal map and the ambient occlusion to bake the texture, so that the high poly detail would come out baked into te texture even if the actual geometry only had the primary, big forms of that piece of clothing. Also added materials in SL Standard game studio type of routine.

    Customer X bought Y-clothing DEMO. One hour later, customer X bought the full version. Five minutes later customer X IMs me (i'm not quoting, but that's the gist of it):

    • X: hey, i want a refund, your piece of clothing Y is garbage, it's only painted on. Painted on textures suck.
    • me: hi! look, i modeled it in highpoly and remade the mesh lower poly for best performance, and the textures are baked from the high poly details. This way things perform best. Besides, you also took the free demo item and now you want a refund?
    • X: from the demo i couldn't see it
    • me: it's the same item, with the same texture, just one single writing "Demo" stamped on it, in a way that doesn't hinder inspection.
    • X: i realized later those wrinkles were only painted on, it's trash quality
    • me: well i used the same methods i use in studio for game assets, it's common practice
    • X: game studio? you can't be a professional, who is good for real does the wrinkles and folds in the models, not painted on. You're a beginner at most, a noob in 3D. Last chance to give me the money back, or I'll make sure nobody will ever buy anything else from you ever again
    • etc etc.

    So, aside from the fraudulent behavior of this guy, that's the common (mis)conception in SL about 3D content: everything has to be geometry detailed to the most, texture is a plus in the best case, if not seen as unimportant because the mesh has the required detail. So with such a vast userbase bearing this mindset, would creators really care about performance? "if i don't do this way, i won't sell. It's a matter of public image" is what a well known mesh heads creator, who i won't name here but i will gladly tell privately to anyone curious about, replied to me once.

    OK, so some customers really want super high detail. That's the market at the high end. Charge them more. But the viewer only needs to deliver that at very close range. Like when the object is filling half the screen. Further away than that, you can drop to the baked low poly version.

    In SL, permanent baking means no user color or texture changes. So:

    • Good LODs at low poly count.
    • Has fine detail when inspected closely
    • Mod.

    Pick two.

    Now, can that be beaten with Bakes on Mesh? If not, just sell a really expensive fatpack with lots of color and texture options.

  7. It's worth having the model understand being in ground effect, too. Seaplanes start as draggy boats, then get enough speed to go into ground effect floating just above the water, then gain flying speed, then really take off. Landing is getting into ground effect and letting speed bleed off until you land.

    Ground effect extends up to about the wingspan of the aircraft.

    • Thanks 1

  8. There is an 18 degree limit on slope breaks in roads. A sudden slope change of more than 18 degrees will cause most vehicles to go sideways, as if they hit an obstacle. That seems to be the physics engine's threshold for "hit obstacle". This is mostly independent of the vehicle.

    Rachel Stardust and I spent some time testing this about a year ago. Breaks this sharp are rare on mainland, but they exist. There's one on Robin Loop. And there's this bridge:


    Sharp-break bridge on Heterocera. 20 degree break. This has to be driven very slowly where the slope changes sharply upward. Fails with every vehicle we've tried - my bikes, Rachel's cars, this Manji car - good ones. Seems to be a constant in the physics engine.

    That bridge may be modeled after a real one:


    The bridge at Chappaquiddick. Half a century ago, a famous politician of the time drove off this bridge and killed the passenger.

    • Thanks 2

  9. Just now, Profaitchikenz Haiku said:

    There is no way the be certain that the script problem won't pop up at another place. It's come and gone at my home parcel several times. Moving a complex build can take several days, I think we should be pushing for a general resolution to this problem.

    Yes. That's why I keep pushing for fixing the script execution system so that idle scripts with no events have zero overhead. Each sit script and color changer currently uses a little time on each frame, and it adds up. Around 3000 to 6000 scripts, that alone eats all the sim time. Several people, including me, have now verified this in empty sims.

    If you need to see how much load an object is producing, go to Arowana sim. This is a Linden test sim which has zero scripts, allows rezzing, and has 20 minute autoreturn. Useful for when you want clean statistics for your own objects. I've taken most of my scripted objects there to make sure they're not using time when idling. (Some vehicles continue to run fast timers in scripts while parked. Don't do that.)

  10. I feel that way

    4 hours ago, Alyona Su said:

    I really hate to say it, but maybe it's time to consider a move to a new place?

    I've considered it, but I own four parcels on a corner in a city, which is hard to get. Besides, script overload is the new normal in SL.

    Support restarted the region. That didn't help. They moved it to another server. That helped, and the "sleep time" went to zero. Still overloaded, though. And this morning, big sleep time is back. I dunno.


    It's almost like this mainland sim is being set to "Homestead" mode, where there's forced sleep time to allow two sims to share one CPU.

    Vallone's big problem is too many scripts not doing anything. There's little avatar activity but about 7000 scripts. The new "Cake" server release is supposed to help with that.

    In some ways, the overload is useful. Because I do scripting in an overloaded area, my bikes, escalators, and now NPCs are all coded to be well-behaved under script overload.

  11. I got an immediate restart via live chat. It helped a little; there's still unexpected "sleep time", but about half as much.


    30 seconds after sim restart.

    I then tried deleting my two pathfinding characters. That cut the "Physics time" to 0.6ms, as expected, but didn't change the "sleep time" , and the "script time" went up.


  12. The minimum level of baking support would be to let you save baked textures to a file. If you have full perms, you can save regular textures to a file. So, if a bake is composed entirely of full perm textures, you should be able to save the bake to a file.

    Then, to dress animesh, you'd wear the animesh skin and body, put on system clothing, bake on mesh, and save the resulting upper and lower textures. Upload those (L$10 each) and put them on your animesh character. It's a pain, but we could then recycle all the old freebie system clothing for animesh.

    • Haha 1

  13. 4 hours ago, Mazidox Linden said:

    Hi there Animats,

    I can't speak to your concerns regarding overloading, but Kama Center has been up for over an hour. Have you double checked what you're seeing at all?

    Yes. See above, about "sleep time".

    Just asked support for a region restart. I'm the only avi there right now, so I'd like to get a restart ASAP.

    • Haha 1

  14. 3 hours ago, Qie Niangao said:

    This isn't looking good. Tussock is on Second Life RC LeTigre and is periodically falling into states where the entire frame is devoted to Pump IO.

    ETA: Oh, Vallone is interesting; it's running the anonymized "Second Life Server 2019-08-23T17:54:14.530353" and is back in that state where most of the Script Time is showing as "Sleep Time" and less than 25% of scripts are run... we've seen that on this sim before, right? (So, not surprisingly, a tiny share of Pathfinding characters get updated.)


    Yes, what's with all that "Sleep Time"? You see that on "Homestead" sims, which are throttled, but this is a "mainland" sim.

    Four months ago, this sim had spare time. Not happy about the continual reduction in performance.

    • Haha 1

  15. 8 hours ago, Qie Niangao said:

    Landscaping that blends across parcel borders should be encouraged. It should be tastefully done, of course, but when it is, it's vastly preferable to a weirdly barren strip of No Man's Land where both sides avoid encroaching on each other.






    (Censored to avoid naming and shaming.) Yes, that huge sign is on a 4m x4m parcel. It was ARd and is probably gone now.

    The main legit cases for encroachment seem to be overhanging trees, and connecting your driveway to an adjacent Linden road. Which are the most common encroachments in real life.

    • Like 1

  16. 7 hours ago, Ceka Cianci said:

    Myself,I didn't really know what Second life was when I first got here..My friends talked me into trying it out..Then after getting irritated and kind of freaked out by orientation Island,it took them three days to talk me into coming back..

    Orientation Island reminded me of the movie ,The Island.. it just freaked me out.. hehehehe

    LL really needs to do something about the Linden new user entry points being Jerk Central. Firestorm, New User Services, Caledon, and London City areas don't seem to have this problem as badly.

    • Like 1
    • Haha 1

  17. dacyatwork01.thumb.jpg.4eef9834320a61a2fb258ac3b2203924.jpg

    Dacy, the new trainee. Mobile Animesh NPC, 29 LI. Texture clothing, which looks OK for workout wear. As the trainee, she gets to try all the latest scripting.


    We're training Dacy to move around fast without getting in trouble. She moves at regular avatar speed, sometimes faster, not at old slow pathfinding zombie speed. So she wears workout clothes while zipping along that bridge. New pathfinding system of mine. SL pathfinding characters can't cross that bridge.

    Her social skills are improving. If she's blocked by an avatar or another NPC, she stops and shows an impatient expression for a second or two while the path planner and maze solver work out an alternate route. If she approaches an avatar on purpose to say hello, she stands off about one and a half meters, as social distance. But when moving, she will pass close to avatars if necessary, trying not to bump them. If she bumps into an avatar, she apologizes. Once NPCs start moving fast, these social skills matter.

    • Like 18

  18. 5 hours ago, Astrid Kaufmat said:

    as it's shown in this image that is made to explain how a ram disk used in steam community works.

    SL doesn't work that way. There aren't that many game assets in the viewer when it's installed. There are a few built-in assets (the wood texture, the standard avatar animations, a few standard sounds) but not many. Everything else comes in from the network and is saved locally in the viewer's cache. This is different from games where the game assets come with the game install.

    4 hours ago, Love Zhaoying said:

    Just use an SSD. Works great.

    Agreed. I added an SSD and texture loading improved drastically.

    • Like 1
  • Create New...