Blender Pythonでテキストの立体化

Blender Pythonでテキストの立体化
python はインデントが正しくないと正常に動作しない。
マテリアルの色まで指定したかったが、エラーになった。
blenderのtext editorにスクリプトを記入する。
実行にはRun Scriptボタンが有る。

フォント指定とカラー指定が正常に動作していない。何度か試すとうまくいくときがあったけど、間違っている。

#参考サイト
#http://habakan6.hatenablog.com/entry/2017/11/12/104856http://habakan6.hatenablog.com/entry/2017/11/12/104856
2バイト文字は日本語フォント指定する必要がある。文字化けするから、画面は色が赤だけど、Pythonでは赤にならない(調査中)

.

#参考サイト
#http://habakan6.hatenablog.com/entry/2017/11/12/104856

# 文字を立体ベベルロゴにしてメッシュにするスクリプト

# -*- encoding:utf-8 -*-

import bpy
import math

# 角度設定時に利用
ROT_QUATER = math.pi / 2

# テキストオブジェクトの追加
def add_text(text, t_color):
  bpy.ops.object.text_add()
  ob = bpy.context.object
  ob.data.body = text
  ob.data.extrude = 0.15
  ob.data.bevel_depth = 0.02
  #font指定をここに移動
  bpy.ops.font.open(filepath="/System/Library/Fonts/ヒラギノ角ゴシック W6.ttc")
  bpy.data.fonts["HiraginoSans-W6"].name = "HiraginoSans-W6"
  fnt = bpy.data.fonts.load('/System/Library/Fonts/ヒラギノ角ゴシック W6.ttc')
  ob.data.font = fnt 
  
  ob.rotation_euler[0] = ROT_QUATER
  #ob.rotation_euler[2] = ROT_QUATER
  ob.data.align_x = 'CENTER'
  ob.data.align_y = 'CENTER'
  mat = bpy.data.materials.new('color_materialName')
  mat.diffuse_color = (1, 0, 0, 1.0)#RED ここにRGBを設定すればよい。2020/05/17
  # マテリアルスロットを追加する
  bpy.ops.object.material_slot_add()
  # 作成したマテリアルスロットに新規マテリアルを設定する
  bpy.context.object.active_material = mat
  #ob.active_material.diffuse_color = (1,0,0)
  #bpy.context.object.active_material.diffuse_color = (1,0,0)
  #mat.diffuse_color = (1.0,0.0,0.0)
  
  #mat.diffuse_color = (1,0,0)#t_color #error , I do not yet 2020/05/15 
  #ob.data.materials.append(mat) これいらん。あると2つできる
  #ob.active_material.diffuse_color = t_color # error

#convert to mesh

  #s = bpy.context.scene.objects.active
  #s.name = "text_name"
  bpy.ops.object.convert(target='MESH')# work
  return ob


# オブジェクトの設定
# Color Setting
#bpy.context.scene.world.horizon_color = (0, 0, 0)
text_color = (1,0,0) # do work yet 
  #red      (0, 0, 1)#blue 現在未使用、2020/05/17

  # テキストの追加
text_ob = add_text("+19,607円", text_color)

 

こちらの記事もどうぞ