Anjin Meili with his wife, muse, and Alpha tester, Elzbiet
Last week of May, sculpties (sculpted building blocks) were introduced to the world, and organic objects immediately appeared; by early June, sculpties were already taking a life of their own. Less than four weeks later, a man working from a boat moored off America's Northwestern shore figured out how to convert the data of objects (real and virtual) and automatically transform them into a new 3D form.
"The idea is rather simple," Anjin Meili tells me. "Rather than use artistic talent to create new objects, utilize existing data sets to create objects." He was reading a paper on reflective mapping to create extrusions for the textile industry. "So I came up with a way to implement some of that. This one is a bit outside the capability of Linden Script Language. So, I coded it on my server side instead."
The results are sculpted primitives of dizzying detail and complexity, photorealistic in their vividness. And because the process involves an automated capture of objects, it's apt to revive fears of another Copybot-like controversy, however unjustified.
"It's where such work will always go," says Anjin, smiling. "Conversion of any external data set. It's all about how you slice it and dice it. If the data is there, and can be visualized on the grid... Someone will find a way. Not just me, but all across the grid there will be folks who figure it out and start unlocking those doors."
This door is a particularly tantalizing one, for it promises to utterly transform the very substance of Second Life. And by blurring distinctions between attributes of virtual and real objects, create a permanent stream of 3D data through the metaverse, the broader Internet-- and the physical world beyond.
"[I]n short," says Anjin Meili, "this is Sculpted Data."
After the break, a marvelous visual sampling of his technology (most taken from real world data), his thoughts on the "copying" controversy, and a more technical explanation of the process.
"Image one is an extrusion I did of an X Ray... Nice toes.
"Two is a shot of the horse head nebula I thought might be entertaining. The cluster next to it is a cloud formation... It didn’t come up so well.
"Three shows what the code was meant to do. Pull up extrusions of textiles, so I took the ole’ basketweave bitmap shipped in Windows for ever. Always great when the first tries at a routine give results like this. Makes you keep right on stabbing along.
"Of course, I just had to see if I could lift text up nice, and of course, that’s a rather easy one. I started playing with rolling the edges of the one font up there. And the smaller one is animated, looping through a number of letters. Nice to watch it morph... I can imagine the sign boards in SL are about to change.
"Image five is a look at what my wife does with one of my tools. I call the tool SnurbO'Matic. You can see it over there on the right. Just a big ole sphere with some guiding axis. You stuff objects inside, give it a poke or three, adjust a few bits, and tell it to make a mold. It can then use that mold to create a sculpty.
"The tool actually builds a 32x32 mesh in the space around the object. Then allows you to modify or move the mesh around before saving it. The smoke stacks are what she’s working on. She wants to make a bit of an underwater park, and has been hunting for undersea vents. So, I rushed my tool up to a state it does not require any aid from me to use. And she’s been making the best rocks and such anywhere...
"And last... image six. I just wasn’t happy with the cloud I played with. So I tackled the data for a hurricane." He grins. "Yes yes, I know, kinda a lot of data to stuff into a tiny little 32x32 mesh, specially when you lose a whopping 10% to manage margins and sealing the mesh. But! It's kinda coolio anyhow."
So, should content creators be worried their works can now be recreated at will?
"Well," Anjin answers, "I suppose that the real thought here is that there are limitations to everything. For one, knowing the approximate geometry of an object allows one to replicate it within tools like Blender, or Maya. Realistically, if you have the skills to drive any of the number of 3D modelers out there, you also have the ability to make a copy visually of anything you see. ‘Specially when things are made from simple primitives." Still, he adds, "This method also can only get just so close. The results would need to be polished by an artist with a good grasp of their tools to be perfect.
"Regardless," he continues, "it has been a reason for concern. I have developed other tools that I feel are also very useful, and can be used by anyone to generate sculpted objects on the grid... I suppose such decisions are to be made by the community that uses the tools. I had considered open sourcing all of my work, but the reaction of the user community held me back. I am sure that I am not the only one who has figured out functional ways of making this work. This is also why I ask people to consider this akin to making moldings of objects, and then casting those moldings into sculpties."
After all, he adds, "Casting is an imperfect science, and those that master it produce the greatest works... To make the finest results, requires the love and attention of an artist."
TECHNICAL NOTES FROM ANJIN
How it works: "Non-Uniform Rational Bsplines... The math says those mesh points need to hunt down to the most uniform distribution possible to capture the object. Picking out the patterns and seeing just how a mesh will form becomes easy after a short while.
He offers the experience of his first tester-- his wife Elzbeit. "She has a dream of making just the right rocks, the perfect seastacks, the most elegant waterfalls. For that she has in her mind the exact shapes she needs. But they must be organic shapes... Things that sculpties can provide. But the tasks around using outworld tools is expensive on time and frustration.
"Now she creates the basic shapes she wants using in world objects, in large spaces. It's easy to just push together a few prims, when you know the final shape will be averaged out. Thats what a Bspline is. Not a fitted perfect along the line curve, it's an approximation that keeps all the rest of the dots mostly in the right place as well.
"When she's done. And orients the poles and axis correctly, she starts a tool. It starts creating mesh points and sending them to the object to create a copy... Oh wait, I am sorry, the SL community has spoken and clearly said I cannot call this process a copy. This step is making a MOLD.
"The molding is a saved datadump of the RGB values that each part of the mesh held when you asked it to save. This means you can interact with the mesh any way you desire using any in-world tool you would normally use. Or you can ask the mesh points to try and best fit themselves all 'automagically'."
"Right now that mesh is a scant 32x32 and a sphere at that. To make it square, you need to solve Descartes classic puzzle of squaring the cube. And that's a rather cool puzzle that solves itself as well when you can just see it popping up perfectly before your eyes.
"I'm coding right now to try and solve the 3d slicing problem. Since I can only use a 32x32 sized mesh, a scant 1024 points to describe the data. How can I chop it up into pieces so the image in-world gains resolution by increase in prims. Instead of just one prim to show a hurricane, perhaps it would be better with a stack of 4x4x4 in size?
"So, in short, this is Sculpted Data."
Gratitude to Qarl and Torley Linden for sending me to Anjin.
I'd love to see these in-world. Are they on display somewhere?
Posted by: Cubey | Wednesday, June 27, 2007 at 10:40 AM
You should see where we are today with the tools... That foot is so clear now that people stop and stare and stutter things like WOW... The SnurbO'Matic is in use by 130+ residents, and the Simulator Terrain Mapping system has run on over 800 simultors.
The possibilites are endless...
Posted by: Anjin Meili | Wednesday, June 27, 2007 at 10:42 AM
Where can we stop by and see these things? Slurl?
Posted by: Alastair Chamerberlin | Wednesday, June 27, 2007 at 01:02 PM
Well, there are places in world, a SnurbO'Matic group.. Much of the code is Open Source as well. I have a sandbox in Talakin that I never remember the slurl for... But its obvious where my sand box is, littered with sculpted prims...
The idea is to find ways of working with a sculpted mesh from any source.. On grid or off, ways to envision the data and make it create the patterns we want. The in world editors I wrote to help me understand how to help the average user envision the mesh and in the end, create usable pieces from it. I feel this is an important step to creating a functional tool for the second life client itself. Due to not being able to create a finished texture on grid, my team created a functional backend to support users. We have charged for the usage to support its costs of operation. But the code to drive the inworld interface will be opened to allow anyone to modify, contribute, and help develop the best ways to interact with a sculptie mesh.
Our beta program is nearly full now, I am already having a hardtime keeping up with just showing people how to use it... And so much code needs to be written...
Posted by: Anjin Meili | Wednesday, June 27, 2007 at 04:37 PM
cool stuff
here is the slurl
http://slurl.com/secondlife/Talakin/224/129/157
Posted by: sean percival | Thursday, June 28, 2007 at 04:22 AM
Awesome work, Anjin - it was amazing to see this in action. :)
LL should hire you.
Posted by: Vyrnox Ming | Thursday, June 28, 2007 at 09:48 AM
Could someone put up an online version of the source code? It is really a pain that most of the fabulous tools created on the Main Grid are impossible for us Teen Gridders to reach if you keep putting everything in-world only. I have a website where I could host the sourcecode. We would be grateful for such a marvelous tool.
Posted by: Nexii Malthus | Friday, July 13, 2007 at 01:39 PM
Much of my released source code ends up on this forum. Contact me in game as well, I have no issues with releasing code thru a proxy for the teen grid.
Cheers
Anjin
Posted by: Anjin Meili | Wednesday, September 12, 2007 at 03:44 PM