Skip to content

Instantly share code, notes, and snippets.

@nutti
Last active August 29, 2015 14:26
Show Gist options
  • Save nutti/92496f4c5b902e64fdc9 to your computer and use it in GitHub Desktop.
Save nutti/92496f4c5b902e64fdc9 to your computer and use it in GitHub Desktop.
[Blender] スクリプト内からテキスト描画モジュールを利用する ref: http://qiita.com/nutti/items/82aebaaab0060b470257
# 「View3D」領域の描画関数本体
@staticmethod
def render_text():
# 文字列「Suzanne on your View3D region」の描画
blf.size(0, 20, 72) # フォントサイズを指定
blf.position(0, 20, 150, 0) # 描画位置を指定
blf.draw(0, "Suzanne on your View3D region") # 文字列の描画
import bpy
import blf # テキスト描画モジュール
bl_info = {
"name": "Tutorial: Render text",
"author": "Nutti",
"version": (1, 0),
"blender": (2, 74, 0),
"location": "View3D > Tutorial: Render text with blf module",
"description": "Tutorial: Render text with blf module.",
"warning": "",
"support": "COMMUNITY",
"wiki_url": "",
"tracker_url": "",
"category": "3D View"
}
class TextRenderer(bpy.types.Operator):
"""文字列を描画する"""
bl_idname = "view3d.text_renderer"
bl_label = "Text renderer"
__handle = None # 描画関数
# 「View3D」領域の描画関数を登録
@staticmethod
def handle_add():
TextRenderer.__handle = bpy.types.SpaceView3D.draw_handler_add(
TextRenderer.render_text,
(), 'WINDOW', 'POST_PIXEL')
# 「View3D」領域の描画関数を登録解除
@staticmethod
def handle_remove():
if TextRenderer.__handle is not None:
bpy.types.SpaceView3D.draw_handler_remove(
TextRenderer.__handle, 'WINDOW')
TextRenderer.__handle = None
# 「View3D」領域の描画関数本体
@staticmethod
def render_text():
# 文字列「Suzanne on your View3D region」の描画
blf.size(0, 20, 72) # フォントサイズを指定
blf.position(0, 20, 150, 0) # 描画位置を指定
blf.draw(0, "Suzanne on your View3D region") # 文字列の描画
# スクリプトインストール時の処理
def register():
bpy.utils.register_module(__name__)
TextRenderer.handle_add()
# スクリプトアンインストール時の処理
def unregister():
bpy.utils.unregister_module(__name__)
TextRenderer.handle_remove()
if __name__ == "__main__":
register()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment