Jump to content
3DCoat Forums

3dioot's ideas thread


Recommended Posts

I have created this thread because I see so much proposes from 3dioot. They are very helpful but I work not so fast to implement all this. I mostly mess with bugs last time so I had not too much time to move technology forward. So I created this thread just not to loose good ideas. Please post links or better post of your ideas. I will take some inspiration from there from time to time :)

Link to comment
Share on other sites

There are a few things still missing. Most of these are long standing requests. Some are bug fixes.

- Freeze for voxel sculpting (also referred to as masking).

- A flatten brush for voxels

- Rapid brush for voxels. Since this is a volume building brush i think a pure voxel version would be great. It would be even better if you could use different alpha's and pen settings.

- Scrape brush should have a working strength value which multiplies the pen pressure. It would benefit the brush greatly and make it more controllable. (not to mention it would make the brush actually usuable for people that are stilling using a mouse)

- I think carve could be removed in favor of extrude. You could add an option under voxel options to "show carve" but i dont think anyone will miss it.

- Vox pinch needs to be improved. Currently it works like the pinch brush works in zbrush and mudbox by pulling from the sides towards the imaginary corner under the brush center. This gives very lackluster results in voxels not to mention the benefit this brings in mesh sculpting (creating a local increase in mesh resolution) is wasted on voxels.

This brush needs to be looked at fresh as a pure voxel brush. Personally i think the answer lies in not pulling towards the center but filling up the center with the missing corner. This would also remove the distortion on the side of the brush and would actually make it a cleaner pinch brush then the one in zbrush and mudbox. If i need to draw this out let me know and i will.

- Brush profile curves. (i dont think these need any explanation)

- While i think its nice to have a surface smooth available im not a fan of having to switch from voxel to mesh just to smooth a thin area out. Is there any chance of implementing the functionality for a min thickness when using smooth and move in voxels?

- The hide tool is completely useless in its current state. It hides in big enormous chunks. This means i cant hide a finger without hiding the hand. I cant hide an arm without hiding part of the torso. I cant hide an ear without hiding half the head. This is a very serious problem. This is an essential tool and it should just work flawlessly.

The good thing is you allready have all the functionality for a great hide function in the split tool. What this does is allow you to clip away a part of your sculpt and move it to another layer. The only thing you need to do is instead of putting it on another layer store it in memory (or on disk; whatever works). When the user unhides merge it back in on the same layer it was hidden from. A perfect hide function! Its precise, its fast and most importantly it allows you to work freely on the part that is still visible as a VOLUME (its still closed as it should be). So you can use hide to create a cavity. This may sound small but is really, really usefull. It will free up the trimming and cutting tools for a MUCH wider use! Currently there are often times where i want to trim away volume and i cant because i cannot hide the parts that are in the way! I think its very important you spend some time on this.

- All surface tools create voxel streaks perpendicular to the symmetry plane when symmetry is turned on. This bug is easy to replicate because it always happens. It makes surface tools completely unusable in combination with symmetry. Not only that but surface tools become quite slow when used in combination with symmetry. This may just be because each stroke has to be transfered to voxels twice (on both sides of the symmetry plane) but perhaps there are ways to optimize that or its related to the bug.

Ill leave it at this for now. I really hope at least some of these get fixed since quite a few carry over from v3's alpha and beta period and are long standing requests.

Link to comment
Share on other sites

  • Advanced Member

Andrew,

Since i cant stand this thread staying empty here is a little rewrite of something i posted in LJB's sketchbook a while ago. It shows a way of defining voxel resolution. This would help greatly on importing mesh objects, with boolean operations and it would probably make sculpting in general a little more transparant as wel. I would expect to see this number displayed in the voxtree behind each layer.

Resolution definition

Currently each "layer" exists in its own isolated space with its own resolution. This is completely seperate from the "world". What i mean with that is that i can increase the resolution of a layer compared to the world by scaling it down. If you have ever done this you would have noticed there is no resampling. (resampling you get for example when you increase resolution) In contrary if you make a selection in photoshop and you scale it down it will get resampled to fit into the grid/the resolution of the image. The fact that 3dcoat doesnt do that means that each layer has its own space, with its own resolution and even its own orientation. Rotating a layer doesnt require a resampling in 3dcoat either. This is all very good because each resampling operation is a loss of quality.

However it does mean that resolution level currently is undefined. People on the forum say they have increased res two times, or three or four. But it means nothing. When you create a new layer it is started in world resolution (lets call this resolution 1). Depending on wether you create a really small sphere or a really large one you dictate the resolution you work in. If we assume for sake of this conversation that the grid in 3dcoat represents an area of 100x100 voxels. Creating a circle that only fills 1/10 of that area is the equivalent of drawing a sphere in a pixel document 10x10 pixels. However if you would scale your sphere up so it would hit the border of the grid on all sides that would be the equivalent of drawing a sphere in a pixel document of 100x100pixels!

This is the power of voxels. You work "inside" a resolution. Your resolution is not defined by your surface as it is with mesh sculpting. It also means you can never define resolution unless you link it to world space. You can number the resolution of a layer as follows:

a = Size of a single voxel unit on the working layer in respect to the root layer

b = Size of a single voxel unit on the root layer (always 1)

b / a = resolution that can be displayed on the layer

To give you an example of how this would work. Lets say you create a new layer and do nothing to it. Its resolution level will be "1" the same as the root layer. Now you press increase res once (this divides all the voxels in half). This will double the resolution and change the resolution level to "2". Now here comes the twist. If i would have taken that same layer and instead of pressing the increase resolution button i would have scaled the layer to 50% the resolution level would also become "2". Why? Because when you scale a layer you essentially scale the voxel space (resolution) of that layer. By changing the voxel resolution to half its size you have created the same effect for the resolution of that layer as you would have created by pressing the increase resolution button.

The difference being offcourse that with the last method you would also scale your object smaller. If you use "increase res" the object stays the same size but the resolution gets changed. Thats why you do get the resampling effect when you use "increase res" opposed to scaling.

Offcourse you could use a different formula to end up with a "level number" but i think it would be in 3dcoat's best interest to give the users something that is familiair to them. 1 is base level, 2 is two times the detail and so on. Most users would immediately pick up on this. Scaling a layer will result in a broken level number but i think one mark behind the comma will give enough information without getting too distracting.

So lets recap; we have a voxel resolution number and we have exposed the factor called size.

Now we have created something interesting. What would happen if you would start working in true size? If you would work in true size you could start linking resolutions to object detail. This is why i would like to request a true unit system in 3dcoat. You could say that, for truesize objects, 1 is a really low resolution, 3 is a medium resolution which allows you to define nice forms and 5 is the resolution that allows you to sculpt extreme surface details like pores. The numbers are fictional ofcourse.

This will give meaning to levels for all objects that are sculpted truesize. Note that this doesnt make sculpting in truesize a requirement. Working truesize would give you general insight during sculpting. Boolean operations would become more predictable and it would also be a huge help on importing. Because you cannot step down in resolution once you have submitted your mesh to a conversion in voxels its important to know, not guess, at what level you want to import it.

Currently you have to experiment by scaling the size of your mesh up and down in world resolution (resolution "1") and try out what fits best with the detail or your mesh. In other words, you end up with the resolution you want by changing the size of the object instead of changing the resolution itself. If you try to import on a layer which already had resolution changes (either through scaling or by the use of "increase resolution) its completely random since there currently is no way to read that layers resolution compared to the root layer.

If you know the size of your object (or estimated size) with this system you can pick the appropriate resolution. If you have a mesh thats finished and highly detailed you will import at level 5 and it will be turned into voxels with all the details preserved. If you have the equivalent of a basecage whose basic shape you want to use and build from there you would import it at level 1 or 2. Completely predictable results.

Since im talking about importing here is an additional request. While id like to tackle voxel-surface workflow some other time it would be great if you could import a mesh object as reference within the voxel room. Currently you can toggle a layer to mesh based sculpting but you only get this choice after you have converted it to voxels. Ideally i would like to get this choice on import so i can import a reference mesh without losing details during the conversion to voxels which i am not going to need (for that layer) anyway.

------------

Ive purposefully left the voxel brush improvements out of this one because, apart from the fact i still have to write it all out, id really like to see the basic features implemented first before i commit any more time.

3dioot

PS

Special thanks to LJB for inspiration.

Link to comment
Share on other sites

  • Contributor
Since im talking about importing here is an additional request. While id like to tackle voxel-surface workflow some other time it would be great if you could import a mesh object as reference within the voxel room. Currently you can toggle a layer to mesh based sculpting but you only get this choice after you have converted it to voxels. Ideally i would like to get this choice on import so i can import a reference mesh without losing details during the conversion to voxels which i am not going to need (for that layer) anyway.

Now heres a thought Currently one of the things that ails me about 3d coat is lack or voxel to mesh reusability (By that i mean any large Voxel alteration requires a compolete retop to get mesh for practicle use in other application). Now in the retop tab we can view retrop and voxel in the same view so would it be possible to as 3Dioot suggest load meshes or set out retop and use it as a cage that gets mapiluated by the underlying voxel volume? this would mean that The mesh or retop' cage would not have to be rebuilt if the character is posed or altered. A BIG Big BIG workflow enhancement. then you could go back and work on the voxels and simple export the mesh with normal to the paint room. Working on Voxels with pose tool and having the retop mesh follow would be a great achivement. Let me know if i need to explain this further?

- leigh

Link to comment
Share on other sites

  • Contributor

Here is another thought for rapid retopology, I wonder would it be poossible to set out a system where the user lays out a few guides on there mesh, Let me explain further, you cold lay down curves or similar to guide the quadrangluation edgeflow, say for instance you have a leg if prior to the quadrangulation you lay down a curve running though the internal of the leg could you not use that curve to lay down edgeflow and simply shrink wrap it to the surface of the voxels giving a more predictable outcome to quadranulation that is closer to what is required for re usabillity in say animation? that way quadrangulation would yeild better results the could be used as a base to further retopologise for practicality. currently quadrangulation is pretty useless for anything other than a static render or protoytping.

or maybe a quadrangualtion and retop tool hybrid system where you draw a few seams and quadranulation intelegently fills the gaps?

Link to comment
Share on other sites

  • Advanced Member
Here is another thought for rapid retopology, I wonder would it be poossible to set out a system where the user lays out a few guides on there mesh, Let me explain further, you cold lay down curves or similar to guide the quadrangluation edgeflow, say for instance you have a leg if prior to the quadrangulation you lay down a curve running though the internal of the leg could you not use that curve to lay down edgeflow and simply shrink wrap it to the surface of the voxels giving a more predictable outcome to quadranulation that is closer to what is required for re usabillity in say animation? that way quadrangulation would yeild better results the could be used as a base to further retopologise for practicality. currently quadrangulation is pretty useless for anything other than a static render or protoytping.

or maybe a quadrangualtion and retop tool hybrid system where you draw a few seams and quadranulation intelegently fills the gaps?

LJB, great timing, I have been mulling over ideas for rapid retopology for weeks and I'm glad you brought it up! :)

I think the retopology tools need to be changed to allow you to have a more predicatable outcome. The problems are twofold.

1.Quadrangulate Tool

Advantages - Very fast retopology

Disadvantages - Unpredictable outcome and topology flow is very unnatural IMO

2.Retopology Tool

Advantages - Allows for creation of clean topology

Disadvantages - Very time consuming!

I really like the idea of being able to give the quadrangulate tools some direction. If a person could draw/paint a line down the front and back of an arm or leg and then there was a tool that you could click in the empty space to fill in the topology this would be huge! Then you could move up vertically and draw lines to add polygons. I don't know, maybe this is possible now.

My biggest problem is working out edgeflow using the current tools. I would REALLY like to be able to plan the edges FIRST and then fill in the spaces so to speak. This would allow for proper edgeflow which Quadrangulate does not produce and would speed up retopology immensely.

Link to comment
Share on other sites

  • Contributor
My biggest problem is working out edgeflow using the current tools. I would REALLY like to be able to plan the edges FIRST and then fill in the spaces so to speak. This would allow for proper edgeflow which Quadrangulate does not produce and would speed up retopology immensely.

That is what i meant when i say in my edit draw seams, edges to illustrate the flow one would wish!

- leigh

Link to comment
Share on other sites

  • Advanced Member
Now heres a thought Currently one of the things that ails me about 3d coat is lack or voxel to mesh reusability (By that i mean any large Voxel alteration requires a compolete retop to get mesh for practicle use in other application). Now in the retop tab we can view retrop and voxel in the same view so would it be possible to as 3Dioot suggest load meshes or set out retop and use it as a cage that gets mapiluated by the underlying voxel volume? this would mean that The mesh or retop' cage would not have to be rebuilt if the character is posed or altered. A BIG Big BIG workflow enhancement. then you could go back and work on the voxels and simple export the mesh with normal to the paint room. Working on Voxels with pose tool and having the retop mesh follow would be a great achivement. Let me know if i need to explain this further?

- leigh

There is a bit of a flaw in that logic.

Voxel sculpting "under" a mesh skin with static topology is exactly the same as sculpting directly on a mesh (i.e. zbrush and mudbox). I hope you see this.

While i understand why you want this its simply not possible under voxels. The current discussion on pose makes me think that people are unaware of the restrictions of voxels in that aspect. Ive never seen pose as a true "pose" tool. I merely see it as a tool to make really big proportional changes through scaling, rotating or moving selections.

The fact is that you can never emulate the freedom of zbrush posing with voxels because as soon as voxel volumes overlap or touch they merge thereby truly altering the surface. Nothing can be done about this. You can also forget about sculpting morph targets in voxels. It just isnt going to happen.

I see voxel sculpting in a production environment in two ways.

- You sculpt in a T pose so you can export for the purpose of animating

- You sculpt preposed and consider the pose and the subject as one

The only way to use the benefits of both methods of sculpting is to implement both. Ive allready written a little about that in the beta thread. It would be a very fluent workflow to start in voxels with a general open pose. It will give you all the freedom to conceptualize, make big changes in any way shape or form and in general just sculpt only concentrating on forms.

Then when you have pushed the sculpt in voxels to the level you want you can retopo it or reguadrangulate it and take it into mesh sculpting. The pose tools under mesh sculpting will allow you to work with the benefits of a mesh based approach. This is something that needs to be looked at but really is a subject on its own.

or maybe a quadrangualtion and retop tool hybrid system where you draw a few seams and quadranulation intelegently fills the gaps?

That is a good idea which was also suggested during the development of V3. The question is what the purpose of quadrangulation is.

If the purpose is to achieve a quick quad only base that you can use to reproject the original detail onto in a mesh sculpting application (for surface finishing for example) then the current implementation is quite nice and sufficient. The only thing i find a true shame is that with the lack of a true multiresolution mesh sculpting toolset inside 3dcoat this current potential is partly wasted. To perform this proces you are (currently) dependant on an external application like zbrush as far as i know.

The second purpose is to get an animation ready mesh from it. I personally think its an illusion to think that a completely automated proces could ever give you a retopologized mesh which meets all the demands that are needed. Not only does it need to fit within a certain polygon budget, it also needs to be animatable (which in part is relative to the animator thats going to work on it) and there is the aesthetic aspect where you as a modeller may want to put some more polygons in a face then say, on the legs of the character. So to expect this from an automatic process is.. well.. quite ludicrous to be honest.

That said the best solution is probably quadrangulation which is more driven by user input. The big problem that still remains is that to get this working anywhere near good it will take an enormous investment and the results will never be as good as a job done by hand. This is a classic case where something needs to be perfect for it to be usable. There is little value to something that you have to tweak to oblivion while in the end you will still have to patch it up and redo parts of it anyway when you could also do it in one go, by hand, with a perfect endresult matching all criteria.

So i really dont see this as a worthwile investment.

----------

That said, while i like (smart) discussions on the development of 3dcoat i dont think the purpose of this thread is to discuss retopology tools. I kindly request that, if you feel the need to add to this thread, to at least keep the topic relevant to voxel sculpting.

3dioot

Link to comment
Share on other sites

  • Contributor

Point taken, Voxels it is then! though let me re-iterate that I do understand the Pose Tool in the way you mention. For the pose tool to work in the way I think others want it it needs to use the topology of a mesh to "find its own limits" for want of a better experssion, Where as voxels have no consistent flow (as it could change with a single stroke) therefore Voxel Pose functions in, dare i say, a predictable way!

As to the other stuff I will move my thoughts on retopology elsewhere.

Link to comment
Share on other sites

  • Advanced Member
Point taken, Voxels it is then!

Glad you understand. Dont feel held back if you want to jump in on the voxel sculpting discussion itself though for you have interesting idea's and views on it (but i think you allready know that).

though let me re-iterate that I do understand the Pose Tool in the way you mention. For the pose tool to work in the way I think others want it it needs to use the topology of a mesh to "find its own limits" for want of a better experssion, Where as voxels have no consistent flow (as it could change with a single stroke) therefore Voxel Pose functions in, dare i say, a predictable way!

Completely correct (nicely explained too).

Although id like to add that it can be improved workflow wise alot. As you've stated in another thread the rotation part of pose does not work in a true screen rotation where it uses the axis of the camera as the axis to rotate around. This is something i also requested back in the day when it was initially developed but people were stubborn in wanting to have it work on two axis at once which destroyed this intuitive princple. Not to mention that selection/masking is still integrated into the tool and the seperate transforms cannot be reached through direct hotkeys (all things i requested at the time it was developed). The current clunky implementation of pose is something that frustrates me to this day. Anyway thats a subject on its own. Ive personally given up on it since any arguments for a more intuitive and fast workflow are usually done away with the general counter argument it all comes down to taste (which offcourse is not true).

3dioot

Link to comment
Share on other sites

  • Advanced Member

Andrew,

I read it on your twitter page and am very excited about it.

If it works smoothly this will open up a whole new way of working really emphasizing the strength of voxels.

I assume you've made the hide tool as good as it can be;

- you can use normal strokes as well as lasso strokes for hiding/unhiding

- you can hold ctrl to turn hide into an unhide tool so you can unhide selectively and are not forced to use a button for it

- all the tools work correctly on the unhidden volume without affecting the hidden part (especially trimming operations)

I am happy to see you give this kind of attention to the voxel sculpting area. Thankyou.

I hope you dont stop here, there is a lot to win by keeping the focus on this area.

Ill try to make some time tonight to put my thoughts down on paper on what i like to call brush resolution.

3dioot

Link to comment
Share on other sites

  • 2 weeks later...
  • Advanced Member

Goal

To achieve a smooth sculpting experience similair to real clay.

Challenge

To emulate the infinite detail achievable in the real world sculpting proces on (current) hardware to such a degree that the difference between the original proces and the emulated proces becomes small enough to be considered negligible in light of the end goal while being able to run on current hardware.

Existing solution for mesh based sculpting

For mesh based sculpting the solution that was chosen was to give the user control over the resolution of the mesh he is deforming/sculpting. You could say the user decides how precisely the proces of sculpting in real clay with infinite detail is emulated by toggling subdivision levels. This means the user is constantly "telling" the program what he/she wants to do. Now i want to sculpt big forms. Now i want to sculpt small forms. While its something we, as digital sculptors, have gotten used to its not something thats desired when compared with the original real clay sculpting proces.

Lets give an example. People often talk about the fact that its so easy to create big changes by working on the lower levels. This is actually a reversed argument. Trying to sculpt big changes on a mesh with a high subdivision level just doesnt work. This makes the workaround of switching to a lower subd level neccesary. Its good that it allows the sculpting proces to be emulated instead of halted but its born out of neccesity.

There is also the argument that sculpting on lower subdivison levels gives you smooth forms. This is true but again it is important to note that as hardware improved tools started to behave smoother. Brush engines also improved (mudbox most notably) which made smooth strokes less dependant on how heavily your system was taxed. Last but not least specific tools were created that allowed you to work on your bigger shapes and forms at much higher subdivision levels then before. The clay brush in zbrush is a good example of this.

The reason i gave above examples it to show that subvidision levels are a (very smart) solution within the mesh based sculpting method for what we defined as our challenge. Its important to note its nothing more then that. Its just one solution which also has its drawbacks. The biggest one being that it requires continues user input in the form of switching levels to keep the sculpting smooth. In summary; subdiv/resolution levels should not define digital sculpting, it is just a side effect of the solution that has been chosen for mesh based sculpting.

Lets also take note of another important fact of this approach. The limiting factor with mesh based sculpting is the mesh resolution. The tool is always considered to be infinitely precise. This means that you could keep subdividing your mesh while using the same tool even after this gives you no visible benefit. This happens much more often then people think and is an important clue on how this problem could be approached from a different direction.

Voxel sculpting

Because of the characteristics of voxels its impossible to give different resolutionlevels any meaningfull relationship to one another. Therefore the ability to work with resolution levels is currently not available nor is it likely to appear in the future. The only option to change resolution is to go up in resolution. Going down in resolution leads to a permanent loss in sculpted detail.

The generally accepted workflow is to start in low resolution. At this stage you work out all your big shapes and forms. When you increase resolution you are committing yourself to the basic shape you layed down. After you have increased resolution sculpting small details becomes possible. The price you pay from that point forward is that its almost impossible to work on bigger forms and shapes because its too taxing on the hardware. This seperation between sculpting big forms and smaller details is unwanted

The problem is caused by the fact that there is no relation between your tool and the resolution you are sculpting in. As i mentioned under mesh based sculpting the current approach is to work with infinitely precise tools and "resolution limited" clay. At the moment voxel sculpting shares this principle. The problem with this is that it becomes unavoidable that sooner or later in the sculpting process you will sculpt in a resolution that is higher then what is required for the tool at that specific radius. This will lead to major slowdown making the sculpting process unworkable.

If you look at a tool as something more physical; like the wooden sticks a sculptor uses to gauge and depress i think it becomes clear that the tool itself will only need a certain level of approximation to appear smooth. Remember we are emulating here because resources are (and always will be) limited on a computer. Note that this same principle can also be applied to extrude

Lets take a cylinder primitive as an example. In every 3d program you can enter how many sides it has. In other words; its perfectly rounded surfaces is emulated by an x amount of planes. Everyone knows almost instinctively how many segments to enter; enough to sustain the illusion of a perfectly round surface. This same principle holds true for any surface in 3d.

The truth is that voxel sculpting on current hardware is actually pretty darn fast. On a modern workstation you can easily create strokes which take up a large screen percentage in a resolution that is high enough to sustain the illusion that its smooth instead of tessellated. We are only getting in trouble when the resolution becomes out of sync with the tool we are using. This happens when we work in a voxel resolution that is required for small surface detail and we use a tool with a big brush radius. Since the tool is infinitely precise the voxel resolution dictates the precision of the tool. Big brush radius with high voxel resolution equals insanely precise brush!

The solution is to cap the amount of voxels a tool uses regardless of the voxel resolution of the sculpt. This cap is ofcourse the "optimal" resolution where the stroke still appears smooth while working on as sparse a voxel surface as possible. You could say that with this you define the approximation of the toolshape. To take the cylinder primitive example it would never be allowed to go beyond an X amount of segments because the visual benefit would be neglible.

This principle can not be blindly applied for all tools. For example fine alpha's will not work properly with this method. Clay, scrape and an alternative version of extrude that works with brush profile curves are perfect candidates though. With this method you wont be forced to start in a high voxel resolution but you could if you wanted too.

Assuming its efficient and code able to create a brush that works with a sparser resolution of voxels (the cap) to deform the true (high) resolution of voxels this is what would be possible; you could start with a sphere and increase the resolution until you could pockmark it. Then if you would take the new extrude (i think its wise to offer an alternative at the beginning of this new approach) and use a big brush you could rough it out as if you were working on a low(er) resolution. You would have no indication that you would be sculpting on something of a very high resolution because to the tool(!) it doesnt make a difference. Then you could decrease the radius to pockmark size and zoom in. Now you can start detailing without switching any kind of levels or going up in resolution. Why? Because the voxel resolution to support that detail was already there; up till now all you did was work with a bigger brush (a bigger tool so to speak). Even at a small radius the cap is in effect. If you make it small enough you will get so few voxels to work with that the tool will have less voxels to work with then what its capped at and thats the beauty of this system. You dont -have- to start with a very high resolution but you can. If you are at a high resolution this will grant you the same performance and freedom as if you were still working at that low resolution. Its not dependent on the size of your sculpt and/or on the user working in truesize. It just always works.

I hope this idea (wether its doable or not i leave in the middle) is clear to you Andrew. If its vague to you but your nonetheless genuinely interested in pursuing it just shoot me a pm and ill see what i can do to clarify it for you. Im rather pressed for time lately hence the reason i didnt create pictures to go alongside the text or make a list of every pro and con. In general i really think this method could open the door to resolutionless sculpting which would be the greatest thing since.. well.. voxels! :D

3dioot

Link to comment
Share on other sites

  • Contributor

Lovely ideas, 3Dioot, In creating a selection of levelled tools similar to actual sculpting tools it woould indeed create a resolutionless base for the future.

You say the that this would not suit all brushes and that sort of makes sense, but could the actual brush size not be used the level the brushes Voxel resolution? [Edit] Ok maybe resolution should be a bit of a meaningles word with these ideas how bout level of Voxel influence.

The limiting factor that what you currently suggest is that unless Finer brushes are optimised a Great deal they will still function as they currently do. I have reached a limit when trying to detail using Stamps for instance and the radius of influence is just too narrow, and workflow process too constrained to continue. all because of this limit, but as the alpha grows, when you size the brush it becomes less and less detailed true?

So as the brush scales its radius of influence surely the detail becomes less important and the resolution of the brush resolution of influence could be scaled also? This would enable a dynamic leveling of all brushes and remove the limits you suggest. Just stretch a selection over the surface in ZBrush and see when the aplha starts to pixelate that a lower resolution at higher brush size would in fact make perfect sense?

Link to comment
Share on other sites

  • Advanced Member

Nice thoughts! You've got the key to make all of us happy... :clapping:

Here is an article that's digging deep into voxel sculpting:

Octree Voxel

I'm not a programmer but evetually Andrew will find inspiration there...Chapter 10 is interesting...multiresolution voxel sculpting...

Rene

Link to comment
Share on other sites

  • Member

A lot of interesting ideas here! :good:

On the idea of retopo, I think 3dioot made some good points. For an animatible mesh, it really needs to be done by hand. However, it might be interesting if you could retopo the "important" areas by hand, and then let the auto-quadralate patch the rest together. The parts that are usually most time consuming for me to retopo are always the small areas (like human ears) where the edge flow really doesn't matter as much because those areas are rarely animated independently (they just move with the head). That way you could define the edge flow in the areas that you intend to animate (the important areas), and let the program patch the rest together.

I'm not sure if this is plausible, but I could see it being useful and speeding up the retopo process a bit.

Link to comment
Share on other sites

  • Contributor
Nice thoughts! You've got the key to make all of us happy... :clapping:

Here is an article that's digging deep into voxel sculpting:

Octree Voxel

I'm not a programmer but evetually Andrew will find inspiration there...Chapter 10 is interesting...multiresolution voxel sculpting...

Rene

Interesting in the article they talk of a tool that could be used rather than to increase, but to reduce level, 'letting the higher level prevail' I think what 3Dioot is suggesting is much along the same lines but would not require the distructive step of actually reducing the volume and possibly removing detail. levelling tools influence rather than the levelling the actual volume.

Link to comment
Share on other sites

A lot of theory. I don't really understand 3dioot's ideas, because of my english knowledge. I hope there will be some images that illustrates his ideas. Sorry for that.I really wish I could understand the principle. It could be a ver interesting discussion for me, too. However, I will try to follow. :)

Best wishes

Chris

Link to comment
Share on other sites

  • Advanced Member
Interesting in the article they talk of a tool that could be used rather than to increase, but to reduce level, 'letting the higher level prevail' I think what 3Dioot is suggesting is much along the same lines but would not require the distructive step of actually reducing the volume and possibly removing detail. levelling tools influence rather than the levelling the actual volume.

I think their Data model (Octree scheme) allows them to store multiple resolution of voxels in.

"Fine details may be added at a high level of subdivision. This is especially important, since it enables us to have high resolution only where its needed..."

For me this means they can insert a voxel in any level of the Octree structure and give it the resolution for the desired task. At other hand it should be possible to move a "root Voxel" at low level and all high resolution childs will follow. So the Brush will "decide" what level you're working on. That's what 3Dioot is suggesting i guess. Maybe I'm wrong but it looks very logical to me...

cheers :drinks:

Rene

Link to comment
Share on other sites

  • Contributor

Hmmm. Not quite how 3Dioot meant it I think (I could be wrong about that mind? Appologies if so 3Dioot!!).

Adding resolution like that would Not really achieve anything other than increasing the amount of Voxels in one area. What 3DIoot is saying is move it entireley to the brush regardless of the volumes entire resolution level, The brush then would not change the volumes resolution at all. Its more the idea of how the brush influences the volume.

If we had actual multiple layers of resolution that the user can Level up and down (like a Subdivision system in ZBrush) then Each level would have to be represented by a seperate volume and each one would have to be acted on at the same time, in order for each of the Levels to follow each other. Even then I guess resampling would have to take place at each level so it may prove to distructive to actually prove useful.

What the Octree shows us is that in thier model they can increase locally. Adding detail where 'adding detail only where needed'. though this is nice and would be a great improvement on what we currently have it would still not make brushes and tools more managable.

I guess we will have to wait and see what Andrew makes of all this. And airs his thought?

Link to comment
Share on other sites

  • Advanced Member
Hmmm. Not quite how 3Dioot meant it I think (I could be wrong about that mind? Appologies if so 3Dioot!!).

Adding resolution like that would Not really achieve anything other than increasing the amount of Voxels in one area. What 3DIoot is saying is move it entireley to the brush regardless of the volumes entire resolution level, The brush then would not change the volumes resolution at all. Its more the idea of how the brush influences the volume.

If we had actual multiple layers of resolution that the user can Level up and down (like a Subdivision system in ZBrush) then Each level would have to be represented by a seperate volume and each one would have to be acted on at the same time, in order for each of the Levels to follow each other. Even then I guess resampling would have to take place at each level so it may prove to distructive to actually prove useful.

What the Octree shows us is that in thier model they can increase locally. Adding detail where 'adding detail only where needed'. though this is nice and would be a great improvement on what we currently have it would still not make brushes and tools more managable.

I guess we will have to wait and see what Andrew makes of all this. And airs his thought?

If I'd understood the paper correctly there are two methods to store voxel data. In a rasterized (Array) or octree manner. If you have a defined raster as we have in 3DC you MUST increase resolution of the whole raster to achieve a higher level of detail. The bigger the brush the bigger the amount of data will be you have to calculate for an operation. What I don't understand in 3Dioots suggestions is how to move big portions of high detailed voxels in that raster without switching to a lower resolution level which is not possible for voxels he said in his post. Maybe he can illustrate his theory for us in a picture?

As you see in the Octree scheme this model is not only to achieve the amount of voxels in one area but also be able to insert and MOVE voxels at any level. That means if you have a brush working at level 0 (the simple cube in the scheme) and moving voxels at that level all depending levels (all other (child)cubes) will follow AND you can insert voxels at that level simultaneously...The working level of the brush should depend on it's size...This should not only have the benefit of locally detail but speed improvement too.

my stupid thoughts... :blink:

Would be great 3Dioot and Andrew will give their statements too... :D

Link to comment
Share on other sites

  • Advanced Member

Why not implement real world units like in Photoshop. Model size would be defined exactly like Photoshop except with one added dimension. Define Height, width and then depth. Resolution is defined as voxels/dots per inch. Models could be defined by voxel units, which translates to real world size by applying resolution- again from Photoshop.. Much more easy to get your mind around, and you dont have an arbitrary scale. I realize that game modelers model visually and then scale to appropriate size, but this would make the program workflow far more accessible to other fields- medical sculpting, model making etc. It would also mean that obj import would retain appropriate scale.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...