Wednesday, 15 November 2023

Thoughts on PBR

One of the big issues that had been holding me back from seriously updating my store both in SL and Kitely is the looming PBR update.

PBR itself is an exciting update that I am looking forward to playing with one it hits Opensim. However, I do also foresee some issues. 

As Adobe defines it - "Physically based rendering (PBR), sometimes known as physically based shading (PBS), is a method of shading and rendering that provides a more accurate representation of how light interacts with material properties. Depending on which aspect of the modelling workflow is being discussed, PBS is usually specific to shading concepts while PBR refers to rendering and lighting. Both terms describe the process of representing assets from a physically accurate standpoint."

You can read more here - Adobe Official Site

Image from Adobe













Currently in SL/OS, we tend to "bake" lighting detail into our colour maps, and then shade and highlight them further with Normal and Specular maps if desired. We also fairly recently (a few years ago I think) got the ability to use Emissive (glow) maps.

However with PBR, correct practice is to make your colour/diffuse maps with only colour and noise information. All lighting and shading should be handled by the new PBR material types. 

To illustrate what I mean in a more visual way, here is a quick example taken from my new Sim Surround kits.

Explaining the new complexity rating system for my products.

To better help my customers make informed choices and find it easier to identify the products that they need, I am introducing a new rating system to my listings on Kitely when I roll out my revamped store in the next week(s). 

While I will also endeavour to list the total polycount of each model in a set, some of my sets have several dozen models. In these cases, a range will be given showing the highest and lowest polycounts. 

But also alongside this each product will have a simple rating - Light, Medium and Heavy.

Light - These are the tier of products I offer with the lowest polycounts and using mostly seamless textures. They are great for any purpose, but really shine when you are wanting to build or fill out a large area at the lowest performance cost possible.

Medium - This tier will feature products with slightly higher polygon counts and feature more baked textures. These items can be used fairly extensively in small areas (up to a 3x3 region), but it is not recommended you try to fill several regions exclusively with this level of content. Very often, they will also be designed to refer back to and work alongside Light products as an optional extra level of detail or as a standalone set. 

Heavy - 99% of my content will fall into the previous two categories. However from time to time I reserve the possibility of releasing something crazy. These objects will be fine and fun as a novelty but intended for very limited use and on their own unless clearly stated otherwise. 

.......Hopefully this will all make more sense when my store is back open =D

Obviously, if you are building in a 64x64 region or something nuts, your going to get lag no matter what you do unless you understand what you are doing and take steps to break up your content into manageable "chunks". 

The bottlenecks are the same as ever - 

*Your graphics card

*Your internet connection

*The clunky way SL/OS handles several things relating to LOD, lighting/shadows, textures and off screen geometry culling. 

*The quality of the content you use and your understanding of how to use it. 



Sunday, 5 November 2023

Land Ho! - A guide to off-sim building

With the impending release of my new Sim Surround kits, I wanted to write some pointers to both help customers with using the products and also to explain the limitations and design choices. As well as giving you the tools to work with off-sim building in general. 

Sim surrounds and off sim geometry are one of the most effective ways of making your sim feel like it is part of a larger world.


GENERAL PRINCIPLES

First thing to understand is that usable space exists around any sim that is not normally accessible, but can be built on if you know a few tricks. 

As you can see here, this is a 1 sim region but we have 8 regions of space around its perimeter. This is the space we will be using to build our off sim landscapes. 

There is more space, but placing things outside of this 1 sim perimeter can lead to textures and LOD not loading in correctly as well as other lighting based graphical glitches. So I don't recommend it. 


DESIGN PHILOSOPHY

My kits follow in my tradition of modular building, allowing you to move and change them as you wish, creating your own variations and landscapes. 

Building in this way has advantages and limitations. The obvious advantage is the ability to make endless variations. The drawback is you limit how much detail you can put into each piece, as they all need to work together. 

As we are also limited to 1024 textures in SL and OS, these pieces are designed to be viewed at a distance over the default water, as shown at the show rooms. They are not designed to be placed on or close to land, and are not intended to be walked upon. They are a visual illusion designed to give the impression of distant land in the background. 

They have been built in this way because designing parts that either come closer to the sim, or partly attach to it requires significantly more geometry and unique textures. It also limits the possibility for modularity and therefore limits customers in what they can build with them.

But if you want to try doing something like that, you can attach and landscape your own off-sim items easily by following the guide below!


BUILDING GUIDE - BASICS

Ok, this all sounds cool, but if you try to drag a simple prim off the boundary of the sim, you wont be able to do it. You will hit an invisible wall. So how do we get stuff out there?

When you rez one of my pre-made sim surrounds that I include with every package, you will notice a few things. 

Firstly, you may not be able to select or move it. This is because you will need to turn off "limit select distance" in your viewer options (turn on advanced menu in Firestorm to find that). Turning off camera constraints can also be very useful when working with off sim geometry (also found in the advanced menu). 



You will also notice an octahedron in the centre of your sim. This is the "anchor prim" and it serves two functions:

1. As the name implies it ANCHORS the rest of the sim surround to your sim. The trick here is that the ROOT PRIM of the linkset must be on you sim somewhere. You can then push other items linked to it off sim wherever you like. You can literally put anything out there. 

2. It holds the sim surrounds textures. This is because when you place geometry off sim, sometimes the textures will not load correctly and get stuck at a blurry stage. I therefore advise selecting the root prim via "edit linkset", place it as close to your landing zone or "central" area of the sim as possible. It is already phantom, make it invisible too and your done. 

This way, when visitors arrive, the textures will be in close enough proximity to load correctly without you needing to manually refresh them. 

It is an octahedron because 8 is the maximum number of textures 1 prim can support. I try not to use more than 8 textures per sim surround to keep performance good, but there is nothing stopping you mixing and matching parts from different sets. Just add another prim to hold the textures. 

To edit your sim surround, simply select it in edit mode, select "edit linked" and click the parts you wish to move (you may need to move your camera closer if you still cant select some things). This is also what you do when you wish to move the root prim. 

DO NOT unlink items and then try to move them while they are off sim as they will be returned to your inventory. 

If you choose to move a part with trees on it, make sure you select the land AND the trees together. 


BUILDING GUIDE - ADVANCED

When building your own off sim land with the parts provided in the kit. There is a best methodology to follow. 

1. I have packaged the parts at a smaller scale to make it easier for you to rez them, but you will want to scale them up to maximum size. For parts with trees, you will want to do this BEFORE linking the part to the full linkset. 

The included half mountains are intended for the very last row of mountains at the back to save some geometry. 

2. When adding new items to the linkset, first select the new item and THEN the root prim of the main linkset before linking them. If you do it the other way around, the new object will become the root prim. 

3. With trees - If you want to make your own custom tree arrangements, it is best if you place them in-world with the smaller meshes provided in the set and then export them as a DAE file. 

Open the DAE in Blender, save them as an OBJ, delete the current objects and open the OBJ. DAE files do NOT like it when you merge multiple objects, so we do this to avoid any material problems when merging parts. Merge them with Ctrl+J and export the resulting mesh as a DAE and re-upload it.

You CAN use them as provided without exporting and joining them, but it will bump up your prim usage significantly. 

Advanced users could also download both parts (land + trees) and bring them into Blender and use a scatter node to procedurally place the tree billboards. 

4. If you build too far out, you will notice that either some objects will look like they are cast in permanent shadow (even with shadows off) or get culled completely at certain points when walking around your sim. This is a limitation of SL/OS simulators and can only be avoided by judicious building.

5. Once you finish up, double check that the linksets are set to phantom. 


Wednesday, 23 August 2023

Examples of the broken viewer land impact calculations of OS 0.9

 With Opensim 0.9, we got a change in physics engine to ubODE. This has made a number of noticeable improvements (linksets not moving around slightly when you link them anymore is so nice!), but it also broke a lot of mesh content that was made prior to the change.

Most noticeably, mesh with a hole through it (such as doorways and arches) got broken, making them impossible to move past unless you unlink them and make the offending pieces phantom, or re-upload them. 

But arguably the worst change was the total breaking of land impact values shown in the build menu. It seems that now the land impact value shown is inflated by around 3-5 times. The physically larger the mesh becomes, the wider the discrepancy. 

For example, this piece of terrain mesh in Second life is 7 PE/LI. As you can see from me standing on it, it is rather large, so 7PE with full physics is reasonable. 


But in Opensim, it now shows as an eye-watering value of 31. An over-estimate of nearly 4.5 times (7x4.5=31.5)!


As you can see, the LOD settings are exactly the same. The scale is the same. You'll have to take my word that the physics model is too as that info is not shown in the build menu.

But that is not all. Although the number shown is wildly inflated, it does not actually impact on the number of prims used on your sim. Your real land impact will still only count each physical part in a linkset or group of objects. Just as previously.

So......understandably, people are confused. This is also not great for attracting merchants to the space for obvious reasons.

I hope this can be addressed in future OS releases but from what I hear, it wont be. So.....

I think the following example best sums up how well you can trust the land impact calculations as shown in the build menu.....

Here we have a humble mesh plane, subdivided once. 1 LI. And next to it its twin brother, also 1 LI....



So....together, that would be two LI, right?



Dont be foolish! That would make too much sense. Its three, you idiot. (Bear in mind that in SL, each plane would be 0.5 PE = 1 PE total when linked)

Except when it IS two, like those other physically larger, more complex planes that you subdivided THREE times right behind the smaller ones.....


And the problem seems to get more acute the bigger the mesh is. This example shows a dune from my new "world in a box" kit. According to Opensim, its a whopping 239 LI! 


And here it is in SL, where we can see the ACTUAL impact is 20. Which I think is fine for such  huge mesh object with physics. Look how tiny I am on top! :)


So yeah. My new way of explaining Land Impact to people is to look at the data under the "Mesh information" in the "object" tab. 

1 sculpted prim = 256 tris. I think that gives most people at least a vague calculus to judge if a mesh is "worth it" or not. 


Monday, 21 August 2023

Gosh.....

 Has it really been 6 years since I wrote anything here? Wow, time flies. 

Anyone on Kitely grid will already know I have been away for quite a while. My life was upended around about 2018, I returned around 2020 to find Opensim 0.9 had broken a lot of content thanks to the borked implementation of the new physics engine, and I did not have the mental bandwidth at the time to deal with the fallout of all that. 

Thankfully I am in a slightly more stable position now and decided it was high time to do a full reset of my store. Many products will be updated and given as free updates, but a lot of stuff will be retired or replaced entirely. 

I will get to everything in time, but right now my focus is on landscaping, as I also have to rebuild my inworld store. More updates will follow shortly, my emphasis has been on making my landscaping products a lot easier to work with while also being more efficient than previous iterations. 

I will be posting full guides on how to use each set via this blog, as well as other tips and tricks