在 Blender 裡用直書

Blender 不支援直書。但如果我還是想要用直書的話怎麼辦?

2021-07-08: 我把下面提到用換行模擬的方式做成插件了。插件的頁面在這裡。

打字之後轉換成Mesh或Curve然後自己轉90°

反正轉換成Mesh或Curve物件之後頂點和多邊形要怎麼改都可以。

但這不成解決辦法。每個字要轉要花很多時間,要是你有很多要顯示的歌詞之類的光是轉成直書這件事情就要花掉你所有時間了。

先在其他程式打好字,輸出成圖片之後輸入到Blender

可以用GIMP或Inkscape之類的,它們實際上真的有直書的支援。就在那打字輸出然後帶進Blender就是了。

(連Krita也不支援直書🙁)

用換行模擬直書

我在ハルノ寂寞 cover用的就是這種方式。

目標是要用換行做到這樣:

/vertical-writing-goal.png

當然也可以直接自己換行(上面那張圖我就是手動換行的),但也可以用Blender的Python API來自動修改。我當時是類似這樣做的:

from itertools import zip_longest
import bpy

def add_newlines(_scene):
    body = bpy.data.curves["Lyrics"].body
    lines = reversed(body.split("\n"))
    columns = ["".join(x) for x in zip_longest(fillvalue=" ", *lines)]
    newbody = "\n".join(columns)
    if body.count("\n") < 3:
        bpy.data.curves["Lyrics"].body = newbody

bpy.app.handlers.frame_change_pre.clear()
bpy.app.handlers.frame_change_pre.append(add_newlines)

/blender-vertical-text-example.jpg

我目前是希望之後可以把它做成一個插件,讓人按一個按鈕轉換成偽直書,再按一個按鈕轉換回來。

祈禱Blender能夠改善文字處理的功能並且內建直書的支援

我希望Blender能夠成為Motion Graphics製作上能用的工具,但目前至少在東亞圈內沒有直書的支援應該不少人就不會考慮了吧。我也不知道這些東西是怎麽做出來的,所以也只能希望以後有別人會做的出來。