I don’t mean for this to be a total ripoff, and I would completely understand if it couldn’t be done (copyright or some other crap), but I think it’d be great if blender had a modelling tool that was like the zspheres of ZBrush.
Oftentimes, I find it hard to model organically, pushing and pulling points, extruding and whatnot, and I think if blender had something that could skin a base object as you go would be time saving, and you could just clean up the points when you were done, or delete some, etc.
Feature requests like this are generally frowned upon. Clearly blender can do this stuff; just take a look in the gallery. However, if you want a similar workflow you could always try converting metaballs to a mesh.
Edit: Not trying to be harsh by the way, because I see you understand that features don’t appear like magic (and it would be a nice tool to have) but you know what I mean about requests I’m sure
#!BPY
"""
Name: 'ph_Arma2Meta'
Blender: 245
Group: 'Wizards'
Tooltip: 'Convert active armature to Metaballs'
"""
# Converts the active armature into metaballs
from Blender import *
def main():
scn= Scene.GetCurrent()
ob_arm= scn.objects.active
if not ob_arm or ob_arm.type!='Armature':
Draw.PupMenu('No Armature Selected')
return
arm= ob_arm.data
res= Draw.PupFloatInput('res:', 0.2, 0.05, 2.0)
if not res:
return
# Make a metaball
mb= Metaball.New()
mb.wiresize= res
# Link to the Scene
ob_mb = scn.objects.new(mb)
ob_arm.sel= 0
ob_mb.setMatrix(ob_arm.matrixWorld)
meta_type= 0 # all elemts are ball type
meta_stiffness= 2.0 # Volume
for bone in arm.bones.values():
print bone
# Find out how many metaballs to add based on bone length, 4 min
length= bone.length
if length < res:
mballs= 4
else:
mballs= int(length/res)
if mballs < 4:
mballs = 4
print 'metaball count', mballs
# get the bone properties
head_rad= bone.headRadius
tail_rad= bone.tailRadius
head_loc= bone.head['ARMATURESPACE']
tail_loc= bone.tail['ARMATURESPACE']
for i in range(mballs):
f= float(i)
w1= f/mballs # weighting of this position on the bone for rad and loc
w2= 1-w1
loc= head_loc*w1 + tail_loc*w2
rad= (head_rad*w1 + tail_rad*w2) * 1.3
# Add the metaball
ml= mb.elements.add()
ml.co= loc
ml.radius= rad
ml.stiffness= meta_stiffness
Window.RedrawAll()
main()
Mini tutorial:
1- Model with armature with “enveloppe” enabled so you could scale the bones head.
2- Use the script to convert in metaballs
3- Convert metaballs in mesh with “Alt-C”
4- (Delete metaballs), decimate the mesh
5- Then use this mesh as base to use “retopo” with a new mesh.
6- That’s all. ph
ZSpheres are far more intuitive and give much better results. People who say ‘Look at the gallery’ or 'Sculpt Mode anyone?" don’t have extensive experience with ZBrush. It’s sculpting tools are an order of magnitude above Blender’s.
What took that guy 1.5 hours to make with Metaballs takes about 5 minutes with ZSpheres. That’s the difference.
Is it possible this solution is nearer because of the work Nicholas Bishop is working on with the multi-res and the possibility of combining and deleting multi res/sculpted meshes? Maybe wait and see how Nicholas organizes the tools he is working on and see how the workflow will change to make this easier - possibly a similar solution will present itself after these changes are committed.
Either that, or look up box modeling and see how to rough out a form that way and then crank up the multi res levels. It works, but you won’t be able to add anything without Nicholas’ project completion.