BlenderでMMDのモデルをインポートし、簡単にトゥーン化


“とあるPGの研究記録Ⅱ(レコーダー)”:http://nullorempry.jimdo.com/ さんのインポータそのままではMaterialのDiffuseが *Lambert* になっているので、スクリプトで一括変換する。
Blender2.67aで動作確認。

選択したオブジェクトに適用されているマテリアルのみ変換します。

 
import bpy
 
print("Start Freestyle Settings")
 
scene = bpy.context.scene
 
#render settings
print(scene)
rs = scene.render
rs.use_freestyle = True
rs.line_thickness = 0.7
rs.line_thickness_mode = 'ABSOLUTE'
print(rs.layers)
 
for lineStyle in bpy.data.linestyles:
    lineStyle.color = (0.04, 0.002, 0.0)
    lineStyle.alpha = 0.7
for layer in rs.layers:
    print(layer)
    if layer.use==False:
        continue
 
    for lineSet in layer.freestyle_settings.linesets:
        print(lineSet)
 
print("End Freestyle Settings")
 
print("Material Settings")
 
for obj in bpy.context.selected_objects:
    print(obj)
    for matSlot in obj.material_slots:
        mat = matSlot.material
        print(mat)
        mat.diffuse_shader = 'TOON'
        mat.diffuse_toon_size = 1.5
        mat.diffuse_toon_smooth = 0.03
        mat.diffuse_intensity = 0.7
 
        mat.specular_shader = 'TOON'
        mat.specular_toon_size = 1.5
        mat.specular_toon_smooth = 0.03
        mat.specular_intensity = 0.4
        mat.emit = 0.3
        mat.use_shadeless = False
 

Text Editor でこれを実行すれば適用される。

画像についてはFleestyleで線もつけてます。