SCUPLTING DEV: Copy changes from one mesh to another, join objects with multires

http://www.vimeo.com/1388355

As long as the verticies are the same in number, you can copy changes from one mesh to another, seems like a really neat feature and could help speed up workflow for situations requiring many similar objects

http://www.vimeo.com/1390706
Now you can join objects with different multires levels, this could be really useful.

Just to note the GSoC projects are still full steam.:cool:

OH THANK YOU ! this is very cool

sooo, this means you can take a sculpt from a non-GSoC build and then copy the sculpt data onto the GSoC modifier base mesh of the sculpt? So that you can then add/subtract geometry from it in the GSoC build even though you began sculpting in the non GSoC?

Just a note to everyone here, the multires branch is now in a state where testing would be helpful. If you can find a recent build of the branch to test, please try to break things, and post bug reports. Thanks.

yes master!

Hey there, I haven’t been able to get my hands on the latest build but I do have a relatively older one and it’s pretty cool - it also resists crashes better than before. But i need to test a more up to date build.

later alligator

In 2.46 I am able to go to around 400k faces and when I turn on partial redraw I can still rotate the view without much lag and even sculpt. If I go to 1,5 million faces, it lags a lot more, but it’s not completely critical.

In the latest windows release http://www.graphicall.org/builds/builds/showbuild.php?action=show&id=716 things seem to work a tad slower (a bit hard to really evaluate this) and partial redraw doesn’t speed up anything, so basicly the latest build works slower and worse than 2.46 release.

There is also no noticable difference if I set undo level to 0. The base mesh with both tests was around 100k polygon subdivided cube with already applied multires and then with added 1 or 2 levels of multires for 400k and 1,5 million mesh.

I’m using
-Windows XP with SP2
-Geforce 7600GT
-1GB of ram
-single Athlon processor at 1,9ghz
-1024x768 screen resolution.

ur gonna need more than 1gb for 1 million face sculpting

Is it ok to post them here or prefer in the bug tracker at Blender.org?

Meanwhile, I found one. I’m using this build.

Steps I did:

  • in object mode apply Multires and subdivide 4 times.
  • change to sculpt mode
  • use sculpt “draw” once.
  • press apply button (everything works until here).
  • still in sculpt mode, try to draw again… and it crashes.

.

Nice! Though isn’t that the wrong way around? Normally you copy from the active to the selected objects, not the other way around… cause then you get in trouble if you have multiple objects selected.

ur gonna need more than 1gb for 1 million face sculpting
Well doh, but the point was that sculpt works slower for me in the new multires branch than in 2.46.

Some things i’ve noted:

  • In sculpt mode page up and down no longer changes multires level
  • ctrl + shift doesn’t work. When a selection is draw every part of the mesh disappears.

I have strange save behavior. When I sculpt some details and just save file, then there is no sculpted data in loaded file. But when I go to edit mode and back and then save all data is saved well.

nicholasbishop:

I’ve been following your progress since sharpconstruct and man… what a fantastic tool you’ve created. I use the sculpting tools a lot in Blender and I surely can’t live without them. They are the base of my workflow. So, a big thanks to you and I’ll defenitly try out the recent improvements when I have time.

Just wondering though: Is it stable enough to “work” with it? I just fear that I may loose my work or end with a corrupted file :slight_smile: (note: that I save incrementally and a lot)

Thanks to everyone providing bug reports here. My progress fixing them has been a little slow; the only thing that’s been fixed recently is the page up/page down shortcut keys in sculptmode.

A couple of performance notes for people testing: partial redraw in sculptmode doesn’t work with the multires modifier yet; turning it on has no affect. Additionally, I’m working on a new scheme to speed up subdivision and level switching, and hopefully get it back to at least as fast as the old multires.

alarionfirn: the new multires is still very much a work in progress, so I can’t recommend it for production work. By the time it’s merged into trunk, I expect it will be very stable.

Another thing I noticed: when you press “center new” for a multires object, the object gets moved instead of the pivot.

I also tried to “import” a 2.46 multires object to the new modifier and had some troubles. I’ll need to test it more but here is what I did (don’t remember exactly): from the original object (2.46 multires) I made 2 copies, one applying multires in level 1, and another applying multires in level 8. I linked the objects to a new Blend project using the new multires build of Blender.
To the object with level 1 of old multires applied I added multires modifier and subdivided till level 8. Selected both copies, the one with 8 leves applied from old multires and the one with the new modifier, making “active” the one with the modifier, and pressed “Reshape”. Sometimes it said I didn’t have two objects selected, other times it said “vertex count mismatch”, and once, it did reshape but seems that the order was wrong and got all messed up.

I need to clarify what are the exact steps to get each result. Just wanted to give an idea of what is happening.

.

Eclectiel, I’ve fixed the crash you described. Regarding the trouble with loading from old files, the reshape button unfortunately won’t work for this, since the vertex ordering is different. That’s not to say loading from files is permanently broken, but it will require special handling (and the conversion will happen when loading the file, so you won’t have to use Reshape at all.)

Also, partial redraw works correctly with multires now.

Hey nicholas,

Very cool man.  Something that is very useful is the ability to transfer only selected area of the mesh.  This is particularly useful for shape keys for animation from sculpts for generating normal maps, displacement maps, AO, etc.  They also have this feature in ZBrush and Mud Box.  I was wondering if you could add that ability also.  They use masking to do their partial sculpt transfer.  The code for transferring a selection to other models based on point position already exists in Blender while in edit mode on a mesh you hit the W-Key and then the specials menu comes up and then select Blend From Shape. You can choose what shape you want to blend the vertex positions from, and control the amount of blend with the mouse. There's also 'Propagate to All Shapes' which takes the current selection, and pushes those positions though, updating all other shapes.  

I wrote a python script that lets you transfer point positions based on a selection from one model to another if that would be useful to you. http://blenderartists.org/forum/showthread.php?t=131404

Seems like your project is well setup for layer sculpting where you can sculpt on a layer like in photoshop or the gimp and then turn this layer on or off. Also if you could have it setup to have a slider for 0-100 percent the layer sculpt is expressed on the model that would be really cool. They also have this feature in ZBrush. The way you have done your project is super cool and it seems like you are really setup to do something like this.

Oh and to speed it up voxels seem to work very well for this because ZBrush and Mudbox are using them for the sculpting and ZBrush is also using them for painting. I know voxels are being implemented into Blender for effects, but I also know of an open source project that has voxels for geometry. Hopefully it is useful to you. I have no idea what method you are considering right now for the sculpting.
http://www.ogre3d.org/phpBB2/viewtopic.php?t=27394&postdays=0&postorder=asc&start=75

Your doing awesome work. Best of luck and I can’t wait to see the final results. I hope this information helps you if even a little bit.

Cheers,
Nate Nesler

Great, thanks!

.

Zbrush uses pixels+depth for its 2d canvas and rendering, but they’re not really voxels, and the sculpting side is multiresolution mesh technology, same as blender, with clever memory management tricks. The other stuff like texture transfer is projection based, not voxel based.

You might be confusing their marketing term ‘pixols’ with voxels. Again its not really a voxel, its a pixel with depth information, from which they can do simple shading and shadow tricks. Used to be a big thing when zbrush was primarily a 2.5d paint program, but of late the 3d side is much more important.

Hey Matte,

Thanks for clearing that up and setting me straight. I can think of one particular place where the depth information really comes in handy from the pixols and that is when creating alpha maps to use on your sculpting. You can take a model and turn it into an alpha map with depth info and you get much much better results than if you try to create the alpha in Gimp or Photoshop because you can’t get the depth shading nearly as accurate and when you paint it. Man they mush have one heck of a good memory management system because I can sculpt 50 million polys with only 3 gigs of ram and it stays pretty light and fast. Their tool can’t do what you guys are doing though. he he :slight_smile: :wink: Thanks so much.

Cheers,
Nate Nesler