Snake brush, a much awaited LiveClay feature

Hi guys :)

Snake brush

Good news! in a quick code sprint with Andrew yesterday we have being able to easily implement the Snake tool for LiveClay, a very useful brush that takes full advantage of dynamic subdivision to literally sculpt in the air ;) this is the first version and I’m sure it can be further improved in the future but is quite good right now ;) … crease brush coming soon ;) Now surface mode sculpting is getting really powerful and feature filled :)

This new improvements are available now for beta testing ;)

Cheers

Farsthary

PS: The Wrinkle brush can do crease too! it behaves in a similar way! just use a strong curve ;)

wrinkle performing a crease

Further revamp of the self collision phase

Hi :)

More speed optimization and a re code :)

I have being working hardly to revamp and make much more faster the self collision part while sculpt, this is the most time consuming step in the ‘merge and split’ feature for LiveClay and thus require careful attention and as much optimization as we can in order to make a suitable real time tool even for huge meshes ;)

Starting tackling “Making holes and bridges” or changing topology genus feature

Hi all :)

Closest distance detection

Well, a “must have” feature in dynamic subdivision methods is the possibility to merge, split and make holes through the polygon mesh while you sculpt, like have being proposed in the paper Freestyle.

The proposed method is algorithmically compatible with dynamic subdivision algorithm so i have started to perform my own implementation of that over LiveClay, is still a WIP feature and I’m only taking the very first steps, one of them, detecting what is the closest surface vertexes is almost done as you can see in the picture above.

Early test showing correctly detected closest points.

One drawback of this kind of methods are the speed, but I guess that is something that can be definitely worked on ;)

Cheers
Farsthary

A better subdivision threshold function

Hi again :)

 y = f(x,z)

detail function plotted in 3D

detail function plotted in 3D

Ok, is the Neverending story the software developent, there’s always something to add, something to improve, some knobs to tweak ;) I have realized that softwares like Meshmixer and Sculptris (greetings to their awesome devs ;) ) limit somehow the amount of detail that a certain brush size can have , in order to avoid unnecessary geometry added and improve performance, if is bad to down-sampling the brush splat is worse to oversampling it ;)   you can use almost any parameter to trigger the edge subdivision, in my previous implementation I was using a temporal function depending on the radius (x) and the use defined detail level(z), the problem can be seeing as simpler or as complicated as you want, so I have spent most of this day trying different threshold functions until I found the function that best suits most of the artists use cases :)

Thanks to that, now polygons grow on a much optimal and smarter rate further increasing performance :)

Edit: How this function works? This function basically will return a value that will aid in the decision process of subdividing an edge, so choosing an optimal function will have a huge impact in the quality of the resultant stroke, if is not properly set you may end up subdividing a lot your edges for a relatively low detail stroke or you may not have enough detail for a detailed stroke, regarding your detail slider user controlled parameter.

Cheers

Farsthary

Toda’s update….

Hi :)

some random strokes

In my previous LiveClay brushing algorithm, I was using a 2-neighbourhood vertex selection derivative to improve topology quality while stroking and in order to achieve that I also have to add a predictive algorithm to estimate the maximum distance of nearby vertexes, and while those implemented algorithm where quite optimal and fast and provide full stroke quality, well, often the best solution is the simpler one, so thanks to my yesterday brusing improvements (only one slection ring) I can bypass the predictive radius offset step so we have more performance than before ;) !

Cheers
Fasthary

Further stroking improvements

Hi all :)

Yesterday I have being working restlessly untill I finally got a good tradeoff between stroke quality and speed, I have implemented two approaches, the first one has full stroke quality, geometry detail transition from low detail to high detail zones is smooth with any detail level and with any brush radius setting but eventually I have choosen a much faster second version where you still get good detail transition and subdivisinon performance, the quality is not as good as the first one but is Good Enough for any use ;)

A good tradeoff between quality and speed in stroking

Important quality improvements

Hi :)

Now that I’m  in Kiev I have plenty of time to develop, no more time wasted in everyday tasks, but also no many chatting because of the language :( , I will try to learn russian as fast as possible ;) .

As a result I have solve several important issues that was lagging LiveClay output quality: some extraordinary vertices start effect and a much better brushing subdivission, hope you like it :)

 

 

New Refine Steps algorithm

Farsthary in Kiev!!!!!!!!!!!!!!


OMG!!!! I can’t belive it but I’m in Kiev, as soon as I recover from a traumatic trip (more than 7000km of fly, 7 hours of difference and a dehidration because of the dry continental weather in contrast to my used wet caribbean weather) I will provide details :)
I’m feelling like a child, the OLD WORLD is completely NEW to me and AWESOME in every sense.
People here are awesome too and I’m starting to meet Pilway’s crew, they’re wonderfull :)
With the Lord’s help this will be a huge change in my liffe, I hope it last :)

Cheers
Farsthary

PS: oh yes, high speed internet at last so expect high  quality video and posts soon :)