Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'release/scripts/vertexpaint_from_material.py')
-rw-r--r--release/scripts/vertexpaint_from_material.py99
1 files changed, 0 insertions, 99 deletions
diff --git a/release/scripts/vertexpaint_from_material.py b/release/scripts/vertexpaint_from_material.py
deleted file mode 100644
index 9668c521f3a..00000000000
--- a/release/scripts/vertexpaint_from_material.py
+++ /dev/null
@@ -1,99 +0,0 @@
-#!BPY
-"""
-Name: 'Copy from Material...'
-Blender: 242
-Group: 'VertexPaint'
-Tooltip: 'Writes material diffuse color as vertex colors.'
-"""
-
-__author__ = "Campbell Barton"
-__url__ = ("www.blender.org", "blenderartists.org")
-__version__ = "1.0"
-
-__bpydoc__ = """\
-This script copies material colors to vertex colors.
-Optionaly you can operate on all faces and many objects as well as multiplying with the current color.
-"""
-
-
-from Blender import *
-
-def matcol(mat):
- '''
- Returns the material color as a tuple 3 from 0 to 255
- '''
- if mat:
- return \
- int(mat.R*255),\
- int(mat.G*255),\
- int(mat.B*255)
- else:
- return None
-
-def mat2vcol(PREF_SEL_FACES_ONLY, PREF_ACTOB_ONLY, PREF_MULTIPLY_COLOR):
- scn= Scene.GetCurrent()
- if PREF_ACTOB_ONLY:
- obs= [scn.getActiveObject()]
- else:
- obs= Object.GetSelected()
- ob= scn.getActiveObject()
- if ob not in obs:
- obs.append(ob)
-
-
- for ob in obs:
- if ob.type != 'Mesh':
- continue
-
- me= ob.getData(mesh=1)
-
- try:
- me.vertexColors=True
- except: # no faces
- continue
-
- matcols= [matcol(mat) for mat in me.materials]
- len_matcols= len(matcols)
-
- for f in me.faces:
- if not PREF_SEL_FACES_ONLY or f.sel:
- f_mat= f.mat
- if f_mat < len_matcols:
- mat= matcols[f.mat]
- if mat:
- if PREF_MULTIPLY_COLOR:
- for c in f.col:
- c.r= int(((c.r/255.0) * (mat[0]/255.0)) * 255.0)
- c.g= int(((c.g/255.0) * (mat[1]/255.0)) * 255.0)
- c.b= int(((c.b/255.0) * (mat[2]/255.0)) * 255.0)
- else:
- for c in f.col:
- c.r=mat[0]
- c.g=mat[1]
- c.b=mat[2]
- me.update()
-
-def main():
- # Create the variables.
-
- PREF_SEL_FACES_ONLY= Draw.Create(1)
- PREF_ACTOB_ONLY= Draw.Create(1)
- PREF_MULTIPLY_COLOR = Draw.Create(0)
-
- pup_block = [\
- ('Sel Faces Only', PREF_SEL_FACES_ONLY, 'Only apply to selected faces.'),\
- ('Active Only', PREF_ACTOB_ONLY, 'Operate on all selected objects.'),\
- ('Multiply Existing', PREF_MULTIPLY_COLOR, 'Multiplies material color with existing.'),\
- ]
-
- if not Draw.PupBlock('VCols from Material', pup_block):
- return
-
- PREF_SEL_FACES_ONLY= PREF_SEL_FACES_ONLY.val
- PREF_ACTOB_ONLY= PREF_ACTOB_ONLY.val
- PREF_MULTIPLY_COLOR= PREF_MULTIPLY_COLOR.val
-
- mat2vcol(PREF_SEL_FACES_ONLY, PREF_ACTOB_ONLY, PREF_MULTIPLY_COLOR)
-
-if __name__=='__main__':
- main() \ No newline at end of file