Jump to content

animats

Resident
  • Posts

    6,160
  • Joined

  • Last visited

Posts posted by animats

  1. There's also this thing called NVidia Omniverse Connector. This is a system where you can do real-time connections between different programs that speak USD and Connector. It's currently possible to plug Photoshop, Blender, and Unreal Engine Editor together and have all the screens update in sync. Remotely, even; you can collaborate. The free version lets you link two users. The pro version is $9,000/year.

    Imagine that Firestorm feature where you can upload objects locally, connected to Blender in real time. At last, in-world mesh editing. We "just" need an SL viewer that speaks Connector.

    Unfortunately, not user friendly in-world mesh editing. More like all the complexity of Blender plus the complexity of obscure Firestorm features plus the complexity of NVidia Ominiverse plus the complexity of all the parts not quite speaking the same shader and materials language. The target market for this technology seems to be the pro team at a studio with a lot of content to generate. It's impressive but currently rather industrial-strength.

    Expert Blender users may like this. Right now, in theory, you should be able to link together two Blender users on separate machines and edit the same thing, jointly. I think. Someone might want to try to get that working.

    Here's a Blender/USD/Connector demo.

    • Like 2
    • Thanks 3
    • Haha 1
  2. USD (Universal Scene Description, for which the acronym is unfortunate) is a level above glTF, "Graphics Language Transmission Format".

    glTF is defined by this specification: https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html

    Second Life already uses part of that. That's how the new materials for Physically Based Rendering are described. You can see this in use at Rumpus Room on the main grid right now. (Overdone, actually. The disco of shiny things is a bit much. But cool.)

    The next step is to use the glTF standard for meshes for uploading meshes. This is coming to SL, although LL has not yet set a date. The major content creation programs, such as Blender and Maya, already generate glTf. The general goal is that it should be possible to create link sets in Blender or Maya, with meshes and textures, upload the whole thing to SL, and have it look the same as it did in Blender. The current COLLADA uploading process doesn't work well enough to do that.

    USD is the next step up. It's defined here: https://openusd.org

    USD includes scripts and animations. But not in the way SL does those. Full USD can contain enough to make a Hollywood movie. It was developed by Pixar. USD is really a container for other files. You can read USD into Blender, and export the SL-relevant parts as glTF or maybe even COLLADA. It's intended as a collaboration format. For example, people working on a big project such as Fantasy Faire might someday choose to use it for interchange between creators. SL may never see USD files directly, but creators may use them. We will see.

    • Like 2
    • Thanks 3
  3. (This looks very much like certain types of region crossing failure. There are some useful insights here. The viewer has to complete several HTTP transactions with caps and the event poller at a region crossing, but there's not much in the way of viewer-side visibility as the tasks complete or fail to complete. Perhaps worth tracking viewer side, and displaying in some diagnostic panel. Not a subject for tonight, but worth later attention.)

  4. 45 minutes ago, Monty Linden said:

    Just certs expiration.  Some AWS migration expediencies slow the response actions a bit but that's the essence.

    @Lance Kent try logging in to Ahern directly and see how things go.

    Ahern on Aditi seems to be back up for Firestorm 6.6.8. Dore blanked out and came back quickly. Walking into Dore caused lower body to disappear. Trying to get back into Ahern caused a stall, then a forced disconnect.

    • Thanks 1
  5. When you try out large objects such as trees, use Firestorm and use the Firestorm menu (lower right corner) to set the LOD factor to 0, which shows the lowest level of detail. If the trees look terrible or disappear, don't buy them, because they will look terrible at distance. This also applies to buildings. If, at LOD factor 0,  you can see through a tree or building, don't buy it. Some creators cheat on land impact by setting the lowest LOD to almost nothing, which is all wrong for large objects.

    Look around SL at LOD 0 when shopping for large objects. Some stuff holds up fine; some looks terrible. If your teacup disappears at 25 meters, that's OK. If your row of parcel  boundary trees disappears at 75 meters, that's not OK. Buildings which break up into loose triangles are never OK.

    • Like 3
    • Thanks 1
    • Confused 1
  6. Aditi is not down, exactly, but something changed which broke viewer compatibility, badly.

    Firestorm 6.6.8 can't log into Aditi at all. The current LL Materials release candidate viewer, 7.0.0.581126, can log in, but avatars are stuck at white clouds and teleports are broken.

    Tried on two different computers. It's broken.

    Firestorm 6.6.8 on the main grid seems fine.

    LL is at the point where glTF materials are about to launch, and apparently something went wrong.

    • Like 1
    • Thanks 1
  7. Something just changed on the beta grid.

    Firestorm:

    • Firestorm 6.6.8 can't log into Aditi at all. It hangs at "fetching region capabilities". Tried multiple regions. Worked 3 days ago.

    LL viewer:

    • The LL Materials RC viewer 7.0.0.581126 logs into Aditi, but the avatar stays in "white cloud" mode forever. The Avatar->Now Wearing menu and the ones below it are greyed out.
    • Shiny new glTF materials at Materials1 look shiny, as they should. Some textures at Morris don't appear.
    • Teleports from Materials1 to Morris or vice versa hang, then there's a logout.
    • Logins to Rumpus Room (Materials testing on the main grid) succeed, and new shiny things look fine.
    • Some teleports on the main grid failed.
    • Memory consumption high.

     

    • Like 2
  8. 1 minute ago, Kyrah Abattoir said:

    They could keep the LOD generator but remove the ability to tweak it, just have it auto fill the unspecified LOD levels with the 50% formula.

    That might be an easy fix.

  9. Here's where I'm going with all this. I want to achieve the big, seamless world that SL promises. That's one of my goals with my Sharpview experimental viewer. Here's what I mean.

    The viewer is always talking to the region you are in, and usually, some nearby regions. With a 128 meter draw distance, it's usually talking to four nearby regions.

    nearby4rgns.thumb.jpg.bc8caa2fca9142812727b0d05627c1d0.jpg

    128 meter draw distance. 4 regions are being drawn. This is a medium setting for Firestorm. The edge of the world is at least 128m away.

    nearby9rgns.thumb.jpg.af177de9657c22890298fde6b9d1516d.jpg

    256 meter draw distance. 9 regions are being drawn. This is an ultra setting in Firestorm. The edge of the world is at least 256m away.

    Here, the terrain is hilly and you can't see the edge of the world. So this is an easy case and looks good. This is on Corsica, which has nice terrain along the roads.

    Now, what I'd like to add to that are automatically generated "sim surrounds" at the edge of the world. Like this.

    impostorrgn1.thumb.jpg.8dfd386ccf6f590474348762e3a4a9f3.jpg

    This is a flat picture of a region just beyond view range from the viewpoint above. Image generated with Sharpview. So, instead of seeing water where there is no water, you'd see distant regions.

    This backdrop trick is common in video games.

    GTA-5-Gets-New-Gorgeous-4K-Screenshots-o

    This is from GTA-V. SL's world is bigger than GTA-V's world, but GTA-V looks big and SL doesn't.

    9d6225-roads1.jpg

    More GTA-V. Here, the terrain doesn't hide the break between the 3D foreground and 2D background. The 3D world ends at the intersection ahead, and a flat background fills in. Looks like it's about 150 meters out. That's something we could achieve with SL.

    To do this, we need good looking lower LOD content without big flaws to get us to the region edge, where the background image can take over.

    So that's why I'm bringing this up again. I'd like to see a solution to this problem before glTF mesh loading goes live.

     

     

    • Like 2
    • Thanks 1
  10. 8 hours ago, ChinRey said:

    All you need is some attention to details and an understanding of how mesh, textures and SL's dodgy LOD and LI systems actually work. I believe it's the lack of understanding that is the biggest issue.

    Rey is right, but she's a first-rate technical artist. The problem is keeping less experienced creators from making a mess in public. This is why I push automated approaches.

  11. luxbldg.thumb.jpg.7dd175608803489104dd6036076dcc9d.jpg

    Where did the building go? Don't build mesh like this. High LOD: 2308 triangles. Medium, low, and lowest: 2 triangles.

    This is a long-standing headache, and it's going to become much worse in a year. As the days of glTF mesh approach, and people will be importing all sorts of stuff from mesh sites, then letting the automatic LOD generator try to bash it down to an acceptable LI value. SL needs to have a solution in place which yields sane mesh reduction.

    This has been much discussed at Creator User Group. Changing the LOD formula to increase LOD for existing objects will cause parcel overflows. So that's out.

    To get a sense of the problem, open the Firestorm logo menu in the lower right, and slide the LOD factor slider down to 0. You are now seeing SL at Lowest LOD. Some things look OK, some don't. Quite a bit looks OK, so LODs can be done right. Many of the Linden homes in Bellessaria look fine at 0 LOD factor.

    This is mostly a problem for big objects. If your tableware looks bad at 5 meters, it only affects your dinner guests. If your building looks bad at 50 meters, it blights the whole neighborhood.

    Some options:

    • Quality control at Marketplace. If it's going to look awful at lowest LOD, potential buyers should see that before they buy. Or something should prevent it getting onto Marketplace at all.
    • Better automatic LOD. The automatic LOD generator at upload shouldn't let you create crap lower LODs. If you want to create crap lower LODs to game the land impact calculation, you should have to go into Blender and make them by hand. I'd like to have "silhouette protection", like Unreal Engine 5, where the outer edges of the object are protected from mesh reduction and you can't reduce so far that the outer edges break or holes appear.
    • Trees are a big problem but an easy fix. Trees are big, and visible at distance. Many trees, including some of the built-in Linden trees, look terrible at low LOD. There's no excuse for this. Trees are easy to impostor with two or four crossed planes with flat images. If the leaves and branches of a tree disappear at distance, you're doing it very wrong. This is where quality control at Marketplace would help.
    • Buildings are harder. But lower LODs with see-through or pointy triangles are just not acceptable. Better tooling in Blender to help with this would be a big win.
    • From a performance standpoint, there's not much gain in reducing lowest LODs below 25 or so. Maybe not below 50 or 100 for building-sized objects. Once LL's viewer gets to Vulkan (I'm already there with Sharpview) the draw overhead drops. 20,000 triangle shoes are a problem. 50 triangle distant buildings are not. You'd need 800 such buildings to equal a pair of shoes. Maybe the LI allowance for lowest LODs should be increased, and the auto-LOD generator adjusted so it will not attempt to reduce below that value.
    • Show higher LODs than normal for objects with crap LODs. The viewer knows it's showing a crap LOD when it sees some huge drop in triangle count. It can boost the quality of such objects. This creates a bad incentive for creators, since it rewards them for crap LODs. So if viewers do this in a big way, there needs to be something to prevent, or at least reduce, future creation of crap LODs. I may play around with this in Sharpview. Boost a few large building-sized objects with crap lower LODs to see how it looks. Not many.

    I sometimes argue with some of SL's better creators about this. They can do good low-LOD work, and think creators should be doing this by hand. That's fine, but too many users won't or can't. It needs to be easier to do it right than to do it wrong.

    SL is a big-world system. Running with a small draw distance makes things feel cramped. Today's open-world games have people used to grand vistas. SL needs to get that right. We have the world and the content for it.

    • Like 4
  12. SL will need some prep for AI. Objects need descriptions. Automating that is a bit hard, but doing it by hand for a roleplay region is feasible. Put a good description in the object's description field, or have a script which, when sent a message on some channel, replies with a description from a notecard. Stuff like this:

    Cart

    The cart is of humble design, composed of old wood and rusted nails that struggle to hold the vessel together. The two wheels in the back are misshapen, and the mounting bars at the front are scuffed and worn from repeated use. A second look reveals numerous patches and fixes implemented by an experienced workman in the past.

    Glassblower’s Tools

    This broad leather pouch contains several metal tubes in loops. One has a broad, conical end. Other fasteners hold crimping pliers in a few sizes, large tweezers, straight shears, a small wooden paddle, a handheld flat marver, and several brass shaping pushes. Dull blades of various shapes hang from the loops, as do spoonlike blocks for rounding glass.

    SL has paragraph roleplayers who can write like that. There's a commercial service that writes this sort of thing for game devs, called "dscryb", and the descriptions above are some of their freebies.

    Parcel descriptions are useful, too, especially in shopping areas, roleplay or otherwise.

    A good NPC needs to be able to read all of those within visual range, and maybe keep a database of ones it has seen before or been told about. So when someone new to the town asks a NPC where they can find something, the NPC can look up relevant items and produce good conversational answers with an LLM. A player should be able to ask where they can borrow some shears, and be directed to the glassblower's shop.

    Next, you need lore. For most roleplay regions, there's are notecards for that, and that text needs to be provided to the LLM.

    Then you need general SL knowledge, both in character and out of character. That's an interesting problem. We have the wiki to draw on, and, as with the LLMs that use Wikipedia and Reddit, it will take considerable pre-processing. That's the "fine tuning" part of the process, to create a LLM that has a reasonable understanding of SL.

    Big job, but I expect someone will do it.

     

    • Like 2
    • Thanks 1
  13. Yes. I had a friend in the next block who was very upset when her building disappeared. It took a while to figure out the problem. It was a prefab building with a visible base. But it had a heliport on top, and the nets around the heliport went slightly over the parcel boundary. That was enough to get the whole linkset deleted. It took much careful measurement to find the problem.

    Then there was someone who had a large store that had disappeared. They had a rotating object atop the store, and at one point in the rotation, it crossed the parcel boundary. That was enough to get it deleted.

    • Like 3
    • Thanks 1
  14. The dark end of the scale is going to get better as LL delivers physically-based rendering with high dynamic range and tone-mapping. In general, SL rendering is too dim. With PBR and high dynamic range, there's a wider range of light levels. Just before the image goes to the screen, something like auto-exposure will soon be done and the light levels are adjusted to where you can see them. This should help with black skin. If you make dark skin with a realistic reflection level, now you can't see much detail unless the face is well lit. So creators tend to bump up the shine so you can see something. In bright light, then there's way too much shine. With tone-mapping, the viewer will crank up the "exposure"  to get a reasonable light balance for what you're looking at.

    There were some discussions on this at creator user group this week. Proper PBR materials have zero ambient illumination. No lights, you can't see it. Many indoor spaces in SL are way under-lit. Turn on shadows and pick one of the darker environments, then tour SL. Hint: if you have a store or other public space, go there in Ultra mode set to Midnight, and see how it looks. If you can't see your merch, get some lights.

    (When PBR gets serious, which LL is not doing yet, lights have lumen ratings and the sun is really, really bright. You can see this in newer games, such as Cyberpunk 2077, where moving from a dark indoor space to bright sunlight produces brief glare before exposure control re-adjusts, just like real life. The effect can be so good that there's a moment of eyestrain that will make you blink as you step into sunlight. In the other direction, you walk into a darkened club and for a few seconds can't see much except the brighter lights. Then you can start to make out people's faces. It feels real.)

    • Like 1
    • Thanks 1
  15. This is why, now and then, I plug for subsurface scattering in the renderer That's the effect which causes skin to have a little bit of red glow near where hit by bright light. It's subtle, but it's something humans are hard-wired to recognize as "alive".

    subsurface_scattering__hand_study__by_za

    Subsurface scattering example, non-SL rendering. A bit exaggerated.

    SSSBreakdown.jpg

    Unreal Engine 5 rendering, dark skin tone with and without subsurface scattering. Too shiny, too dead, just right.

    This is technically hard to do, needs a modern GPU, and is not in standard glTF yet. So SL doesn't do it. Currently, SL skin is on a range between "dead" and "plastic",

    With the new SL "materials" system, you have two layers to work with, "roughness" and "metallic", instead of just "specular". Try making better skin over at the test regions, such as Materials1 on the beta grid. It won't look as good as subsurface scattering, but you can get closer to "alive" without getting too shiny.

    Things are coming along. SL is slowly working its way out of the uncanny valley.

    • Like 3
    • Haha 2
  16. 27 minutes ago, Love Zhaoying said:

    That's too bad, they COULD use JSON with suitable encoding, at the cost of size.

    LL is using JSON-encoded glTF, for describing materials, and soon, meshes.

    There's an incredible amount of encapsulation of one format in another format. SL meshes have XML LLSD, binary LLSD, and their very own mesh format. Plus, some inner parts are compressed with ZIP compression. This all works out OK and doesn't take all that much code. But once "Notation LLSD" gets involved, things tend to go downhill. Notation LLSD is one of those things which is supposed to be simple, not too formal, and human friendly, and turns out to be none of those.

  17. 15 minutes ago, Love Zhaoying said:

    All we have to do is get someone to train a model for LSL using the wiki and LSL examples / libraries!

    This is a real issue for LLMs. If we want to have NPCs in SL that know something about SL, we need a big training set of lore about SL.

    • Thanks 1
  18. 53 minutes ago, Fenix Eldritch said:

    Don't waste your time with OpenAI, ChatGPT, or other such things. They have been proven to be unreliable and will make up syntax and functions that do not actually exist.

    Right. Large language models sort of work for web stuff because there are so many examples of web stuff in the training set that someone has probably already done what you want to do. This is not true of LSL, which is a far smaller niche.

    • Thanks 1
×
×
  • Create New...