October 5, 2019

MyWorld Meetup – 9/7/19

Announcements:

  • We’re postponing alpha – time estimates are difficult to make, and we’re not going to be able to make a release by the end of September. We do not have a specific date chosen at this time, but we’re tentatively aiming for the end of the year. We will keep the community posted as we progress.
    • MyWorld is about making virtual worlds the best they can be. We’ve never compromised quality to rush things out the door, and we’re not going to now. We are working to get an alpha release out to the community as soon as possible, and we are pushing non-critical features to a future release, but we aren’t compromising on design or code quality. The last thing we want is to rush a feature out only to discover later that it’s flawed and needs to be completely reworked, breaking existing content. MyWorld, as a software package and as an organization is people-first, and we believe it’s worth waiting for when the wait means delivering on the quality and stability our users deserve. We thank all of you for your patience and understanding.

Discussion:

  • X – Is everything in MyWorld mesh based?
    • Yes – At the moment, MyWorld only supports mesh. In a future release, we’re planning support for CSG (Constructive Solid Geometry) building. CSG is a bit like building with prims in SL/OS but much more powerful – for example, you can make complex cutout shapes by using one geometry to cut a piece out of another. We are also working on a displacement mapping extension to standard CSG – displacement mapping is where you use a greyscale texture on an object to add features, similar to how terrain heightmaps work. For example, to make the shaped of an ornate vase you could start with a plain cylinder and use a displacement map to create the curves on its body.
  • X – One consequence of mesh-only building is that there is no secondary market for textures like SL has.
    • Yes, this is true. CSG building should make that market viable again, however, as creators will be building with analytic geometry – just like prims.
  • X – I prefer mesh, and having used Blender I think many people would want to but don’t think they can. Being able to combine mesh with CSG objects will be very powerful for people who don’t use Blender.
  • Zauberin – Could we use curves to define the displacements for objects that have the same feature spun around an axis (like balustrades and vases)?
    • So far we’ve only looked into using displacement maps, but there’s no reason we couldn’t support using curves or splines for this as well. We will investigate this further.

  • Zauberin – will there be support for triplanar texture mapping?
    • On terrain, yes. I don’t see a usecase for non-terrain triplanar mapping, and it is more expensive than simple texturing. If a usecase arises after release we’ll investigate supporting it on non-terrain objects.
  • X – I’m a texture artist in Second Life and I pay extremely high attention to making things as realistic as possible. This is hard to do in Second Life’s material system. Will MyWorld’s graphics allow realistic texturing?
    • Absolutely – MyWorld’s graphics system is a PBR system – the industry state-of-the-art for realistic realtime graphics. PBR allows artists to create near-photorealistic content in a straightforward way that is interchangeable between PBR engines.
    • Zauberin – PBR is based on the physics and energy conservation of real light, and it uses the surface properties of the object to simulate light interaction. For example, one PBR parameter is metalness, which makes the surface reflect light according to whether it’s a metallic or non-metallic surface.
  • X – So for example, would a shiny object look different depending on whether it’s outside in the sunlight or inside?
    • Yes – PBR accounts for the environment and is highly realistic under all lighting conditions. Note that environmental factors (like simulating reflected light striking another object) are difficult to simulate in real-time unless most objects remain in one place and you can aggressively pre-bake light information. As a result, MyWorld may not support full environmental rendering effects at alpha, but it will support full, standard PBR texturing. As we go on, we’re exploring methods for adding support for full environmental rendering support.
  • X – How will MyWorld prevent content theft?
    • We have multiple ways to combat different aspects of content theft. For one, unlike SL & OS, obtaining the UUID of a texture or audio asset will not be enough to apply it to your own creations.
    • Zauberin – Could the permission system be used for this?
      • Yes, to a degree – this is how we’ll prevent UUID leaks from being used to steal textures. The permission system places everybody in “roles” and then allows certain roles to do certain things – for example, permissions for a texture might put the creator in the “creator” role, and the creator’s associates in the “allowed users” role, and then restrict adding the texture to an object to people in the “creator” or “allowed users” roles. However, this doesn’t prevent someone from ripping and re-uploading a texture.
    • X – Could you add support for texture licensing?
      • Yes, although licensing is difficult to enforce as it’s somewhat on the honor system until a violator gets caught. The rules in licenses are too varied and complex to put to code, in general. We’re definitely open (and have considered previously) allowing creators to license assets they upload so that a copy of the license goes along with the asset. It’s a good start and it gives us a clear legal ground to respond to DMCA requests, but it doesn’t fully prevent content theft since there is nothing stopping thieves from taking the content and re-uploading it without the license.
    • X – Would it be possible to hide something in an asset that always goes with it so that stolen content can be identified?
      • Yes, that’s possible anywhere with a technique called stenography. You can hide information in things like textures by making tiny variations to pixel colors to encode binary 1s and 0s. If you encode a cryptographic identifier in the texture, you can easily find cases where it was stolen. However, the problem is that a thief can alter or remove the stenography if they know it’s there.
      • One thing that’s an area of research for us is statistically identifying uploads of duplicate items. That way, if someone uploads something that is stolen and its “fingerprint” matches something that already exists, we can flag it as a potential theft. However, reliably identifying stolen content is very difficult (many metrics can be thrown off by subtle changes to an asset), and it’s possible (and likely) that there will be sufficient practical barriers to prevent this.
      • The takeaway here is that content theft is difficult to fully prevent through technological means, but we will pursue whatever we can. In addition, as an organization, we fully oppose theft and copyright violation of any variety and will do the best we can to support creators and protect their intellectual property.