I have now converted all of the art assets for Penrith Forest into glTF files. Before I had a mix of .json, .fbx, and .gltf/.glb files. While I was doing this I created collider meshes for all the assets that needed them. I also added in the ability to load double sided meshes. By default meshes created by THREE are one-sided. This is an optimization that prevents WebGL from drawing triangles that are facing away from the viewer on the assumption that these triangles will probably get drawn over anyway. This works fine for most things but for very small, simple objects like grass and flower petals I need the material to be visible from any angle. This is accomplished by simple putting the word “(Double)” anywhere in the material name in Blender. This name gets exported and the object loading code looks at the name of each material getting loaded, and if it contains “(Double)” it sets that material to double sided. This only has to be done once, when the asset is loaded, so it shouldn’t have any real effect on performance and will allow me to make all kinds of foliage as simple planes.
The next thing I need to do is clean up and confirm/re-implement the terrain editing and painting code. I had this working at one point, but I’ve changed quite a bit over the last several week so I’m guessing it’s at least partially broken. Once this is fully working again, I’ll put some time into the design and layout of Penrith Forest.