Wednesday, July 31, 2019

Blender for Beginners

Do you want to create content for Second Life but have never touched a CG modelling program in your life? Are you an SL pro, but have absolutely no experience beyond making content for SL? In either case I highly recommend the Blender Guru channel on YouTube. He does fantastic tutorials. He doesn't waste your time, but neither does he go so fast that you feel rushed. He doesn't skip steps and he's good about repeating tips to get you used to them rather than assuming you remember everything perfectly the first time you hear it. And he breaks everything up into bite sized lessons that never drag on too long.

Give the tutorials a try for yourself:

The beginner tutorial start here:

The intermediate tutorial start here:

Even if you've been making content for SL and consider yourself a pro, I do recommend you check out at least the intermediate tutorial. Making content for SL there are some important aspects to CG modelling that you're not likely to be exposed to, such as proper UV unwrapping.

If you believe you know all there is to modelling, at the very least I'd encourage SL users to check out this part of the tutorial, dealing with UV unwrapping:

I hope all of this helps and happy SLing!

Monday, July 29, 2019

The Best Building Tip Nobody Knows!

Use skyboxes for building interiors! 

Turn doors and other entrances into teleporters so people can enter and exit. This frees you up from the constraints of the environment and also makes sims less laggy by moving a lot of content out of rendering distance!

For example, if you have a house at ground level, make the door into a teleporter that takes people to a skybox 400-500m up! You'll see a huge FPS increase doing this because your computer will be rendering far less at once. And since you can build up to about 4000m up, you can space out your interior skyboxes. So if you have an enormous interior area you can split it into sections, spaced out to keep framerates high.

 And if you use an Experience key on your land, you can make it so people can just walk into the doors and be instantly teleported to the skybox, for a relatively seamless experience.

 If you have limited prim space you can also use this trick with a holodeck style rezzer system so building interiors are only rezzed when you're using them! This way you have virtually infinite prim space.

Textures and Lag

A lot of people never consider the correlation between textures and lag. Fact of the matter is, most of SL's performance issues are due to texture bloat. Videogames rarely use textures larger than 512x512, games like Crysis and Skyrim are often using 128x256 textures on surfaces SL users leap straight to 1024x1024 to texture!

Gamers know those 4K HD texture mods come at a big performance hit if your machine doesn't have enough memory to handle it, and even games running those mods are typically rendering a fraction of the amount of textures Second Life throws at your videocard.

 Many attachments, such as hair, even have 512x512 or 1024x1024 store logos plastered on a hidden root prim you never see, that texture is still eating up VRAM and SL only uses 512MB of VRAM for textures before your framerates start to crawl.

 A good rule of thumb is that unless a surface is 10x10m or larger, you should use a texture smaller than 512x512 and avatar attachments almost never need textures larger than 256x256 unless they're full body mesh.

 There's never a reason to texture hidden surfaces and you should always try to combine textures and use the entire texture map where possible.

Texture responsibly and happy SLing!

Tips for a Larger, More Detailed and Less Expensive Second Life!

Sadly the sim is gone, but this entire city fit into 1/4th of a sim. Including the trees and hills in the distance. All of the buildings are 1=1 scale instead of 2-3 times larger like most people in SL build. When you build smaller, the amount of space you have to work with is larger!

  • Larger mesh objects use both more space and more Land Impact. If you pay $300/mo for a sim but you scale everything up way too big (which most people do) you're essentially throwing away $225 every month because if you scaled everything down closer to 1=1 you'd be able to fit 4x more content in your sim.
  • Size is relative. If you make your avatar larger, everything around you appears to shrink. Make your avatar smaller and everything around you appears larger.
  • Animations can work with small size differences, but not large size differences. Take a dozen average adults and you'll get less than a foot difference in height compared to SL where the average adult human avatar is anywhere from 5' to 8' tall. This is why your animations & furniture rarely work well.
A bunch of furniture at typical SL sizes. My 5'7"(6' in those shoes) avatar for scale.
The same furniture reduced to 1=1 scale. The prim floor is to show how much space is saved.

Here's a more detailed article about scale in SL if you want to read more.

Happy SLing!

Sunday, July 28, 2019

Tips for a Better SL Avatar!

Here are some tips to help you avoid common proportion mistakes and create a more attractive avatar!
One of the older starter avatars. The original is on the left. On the right is my altered version. The only things I changed were the shape and the skin, but what a difference that makes!

  • Most avatars are HUGE but due to the slider limits it's easier to make an attractive human shape if you stick between 5' to 6'4".
  • Measure your head w/ a prim then see how many "heads" tall you are! Should be 7.5 to 8 heads. More means your head is too small!
  • Groin should be at half your body hight. 
  • Hips are roughly as wide as chest. 
  • Arm "wingspan" is about equal body height.

Here are free shapes to use as a better starting point:
Here's a detailed look at proportions, shape making and the appearance editor:

On the left is the default shape that comes with the Aesthetic avatar. On the right is a shape made using the proportions guide linked above. You can see that it looks less goofy and a lot more human!

 If you're using a giant beast avatar (minotaurs, werewolves, trolls) reduce the size to about 7 to 8' to make it compatible with most furniture and animations even with human sized partners.

 It's generally a good idea to keep your draw weight as low as possible. "Draw weight" or "ARC" isn't a perfect means of knowing what avatars are difficult to render, since it doesn't account for everything that results in a laggy avatar, so basically a low ARC doesn't always mean your avatar isn't laggy, but if your ARC is high then that is definitely bad.

Tips for a Better SL Experience

Here are just a few tips that can help make SL more enjoyable!

Better Camera Settings!

Tired of the SL camera sitting several metres above your head? Feel like you're actually right there in the world with these alternate camera settings!

Minimize Your Lag and Framerate Problems!

Try to keep your draw distance under 128m! Higher draw distance lowers framerates and increases lag!

Keep your Object Detail at or below 3. Some people who sell content will tell you to go into your debug settings and set Object Detail far higher than it's supposed to be able to go. They do this because they're trying to sell you broken content without proper LOD models.

Try to keep your avatar texture use under 100MB (100,000KB). You can check how much VRAM your avatar is using through the object inspect panel in the Firestorm viewer.  Select all of your attachments then open the inspect panel. The VRAM use will be listed in KB. Even 100MB is a lot, but SL content creators tend to use lots of large textures, even when they shouldn't. So 100MB is a more realistic goal.

Don't be shy! Be social!

Talk to people! Don't be discouraged if they don't reply! They're likely busy or AFK, not ignoring you.

If you're IMing a stranger to say hi, try saying a bit more. Introduce yourself and let them know why you're messaging them. You'll get more responses that way.

Join Groups and say hi in group chat to meet new people that way! This is a way more effective way of meeting new people than sending an instant message to a stranger.

I hope these tips help! Happy SLing!

~ Penny Patton

Sunday, July 7, 2019

Unoptimized Content is a Huge Problem, But How Can LL Fix it Now?

Like clockwork, whenever the problem of unoptimized content in Second Life is brought up, there will be people saying "There's nothing to be done for it now! Changing the rules will break too much existing content!" If you've never heard any potential solutions it's easy to see why someone would come to this conclusion, but is it an accurate assessment of the situation? Not entirely, and I'll explain why.

 If Linden Lab haphazardly released "new rules" for content tomorrow, such as a hard cap on avatar complexity or a complete change in the way Land Impact is calculated, there would be chaos. Almost all existing SL content would be returned and people would find they could not wear most of their favourite avatar accessories. This is the "Content Apocalypse" most people conclude will happen if LL makes any attempt to reign in unoptimized content so late in the game, but this assumes LL rushes in blinded and with a heavy hand. The fact is, LL could take a more nuanced and long term approach to the problem.

 Up until mesh importing was introduced to Second Life, object complexity for environments was kept in check with "prim limits". Every object was made of prims. Each prim counted towards land's "prim limit" Make a chair out of 10 prims, it counts as 10 prims towards that land's "prim limit". But there were three problems. First, not all prims were created equally. A torus uses far more polygons than a cube, for example. The second problem was that textures were not taken into consideration. Textures play a huge part in rendering performance and prim limits ignored this entirely. The third problem came with the introduction of mesh, because mesh could not be calculated this way. You could create a highly detailed, high poly mesh object and it would only be one object. It wouldn't do to have it count as only one "prim".

 So Linden Lab introduced "new rules", "Land Impact". Now the complexity and size of an object would determine it's land cost. Existing prim content was unaffected. If you build a 10 prim chair today, it will still only cost 10 prims. It is only when you link prim objects to mesh that the "new rules" will be applied to the whole link set. This is why linking prim objects to mesh can result in an increase or decrease in the "Land Impact" cost of said prims.

 To further push the change from "prims" to "land impact" all new features released after mesh would use the "new rules." Keyframe animations were introduced around the same time as mesh, shortly after I believe. You could use this to create much more believable elevators and moving platforms in SL. But, if you built an elevator out of prims and applied a script using keyframe animation features, the prim elevator would use the "new rules", land impact instead of prims. The same was true with materials and pathfinding and any other new feature. If you wanted to enjoy the newest features SL had to offer, you would have to use the "new rules". And over time more and more new features and new content using those features appeared, after only a few years almost the entire grid had adapted to using Land Impact instead of prim limits.

 You probably see where I am going with this. LL could introduce "new rules" to content creation yet again, using the same approach. Let's use animesh as our example starting point. Animesh already calculates LI differently than existing mesh content, and if you link a static mesh object to an animesh object it will change how it's LI is calculated.

Animesh can also be worn, it would not be a stretch to make it so if you want to wear animesh you have to adapt to a hard cap on avatar rendering impact. It could work much like land impact already does. In order to be effective avatar rendering impact would have to take texture use and polygon use into better consideration than ARC currently does. Avatar rendering impact would also need to be universal, not different viewer to viewer like ARC currently is.

Legacy content would be preserved in that to revert back to the "old rules" you would simply need to detach any content using new features like animesh. People could continue using their old, laggy content as much as they liked, but over time the draw to adapt to the "new rules" would get stronger as more and more features were released. In fact, I'd argue that retroactively applying this change to animesh now would still be feasible. Animesh is new enough and rare enough that most content would remain unaffected. There'd be grumbling, sure, but it would be a drop in the bucket and quickly pass.

"But that would just mean people would refuse to adopt new features!" This is the argument some make. It's rubbish. You only need to glance around SL to see how many people have refused to adopt mesh, materials, etc to see the folly of this argument. People like new features. As long as those features add to the SL experience, people are willing to make the compromise. And the more such features add up, the stronger the case for adapting becomes. The fewer the holdouts remain.

To be clear, this approach would not solve SL's performance woes overnight. This approach takes the long view. Preserving legacy content and allowing the userbase to adapt to the "new rules" at their own pace. It would likely be 3-5 years before we finally saw widespread improvement, and that's perfectly fine.

 LL can afford to take the long view. SL isn't going anywhere.