Longtime SL artst Erik Mondrian created this pretty amazing video: A fly-over of Second Life's Heterocera continent. However, with a unique and potentially ground-breaking twist: He didn't shoot the video in Second Life itself. Instead, he exported Second Life's terrain data, and recreated the continent in Blender. That's what you're seeing here.
Inspired by Yevad Doobie's in-world sculpty models of Second Life (created in Sculpt Studio), Erik wound up creating a whole new (and fairly amazing process) for exporting the virtual world:
"I wanted to do it in a way that would allow for more detail and precision than sculpt textures are able to handle," Erik explains. "After much testing and searching and reading of documentation, I eventually came up with a multi-step process, using scripts I wrote (in both LSL and Python) to gather the elevation data inworld and then generate models in Blender—vertex by vertex—with its built-in Python API, bpy."
More details below*. The notable implication here is that this process could be used to export SL terrain to other worlds and platforms for fun. (If not for profit: Pretty sure you'd want to talk with Linden Lab about commercial applications.) Erik is thinking, for example, of enabling people to import terrain into the open source Godot Engine. Potentially you might even be able to 3D print these models, and perhaps put the virtual world on your coffee table.
Follow Erik on YouTube for more metaverse art and hinjinx!
* Here's more on Erik's terrain gathering/creation process:
"I first gather a list of SLurls, one per region, ideally to Linden-owned Protected Land if there is any and otherwise to a parcel that's clearly open to the public and where I won't be in the way. I then activate a HUD with an LSL script as well as a Python script on my computer. The two scripts communicate via HTTP, with the latter keeping track of the SLurls and telling the HUD where to teleport me next. The HUD samples the ground height across an entire region (every half a meter) and feeds those numbers back to the Python script, which records the data in a series of text files.
"After that, it's a 'simple' matter of opening up Blender and running another Python script that takes the data from those text files and generates the mesh for each region model, simultaneously placing them where they're all supposed to be in relation to one another.
"My bpy script can also reduce the triangle counts on each mesh and export the LODs as COLLADA files for uploading to Second Life. And last but certainly not least, there's some additional LSL code that applies textures to each region object, either the World Map or "terrain layer" texture or a combination of the two, with each model possessing a second material face that corresponds to that region's water height.
"Luckily, all of these textures are already available from SL's servers if you know the textures' UUIDs—which I'm able to retrieve thanks to Tyche Shepherd and her indispensable Grid Survey database."
Comments
You can follow this conversation by subscribing to the comment feed for this post.