Blender使用Python QM渲染复杂字体
我试图在blender中正确渲染孟加拉语字体,但渲染不正确。我在尝试使用python在图像上绘制孟加拉语文本时遇到了同样的问题。我发现枕头可以做到这一点,但它不像英文文本那样直截了当。通过下面的两个链接,我可以让它正常工作 这些是不使用和使用libraqm的结果 不正确 对的 这是基本代码,Blender使用Python QM渲染复杂字体,python,graphics,python-imaging-library,rendering,blender,Python,Graphics,Python Imaging Library,Rendering,Blender,我试图在blender中正确渲染孟加拉语字体,但渲染不正确。我在尝试使用python在图像上绘制孟加拉语文本时遇到了同样的问题。我发现枕头可以做到这一点,但它不像英文文本那样直截了当。通过下面的两个链接,我可以让它正常工作 这些是不使用和使用libraqm的结果 不正确 对的 这是基本代码, from PIL import ImageFont, ImageDraw, Image import numpy as np import matplotlib.pyplot as plt ima
from PIL import ImageFont, ImageDraw, Image
import numpy as np
import matplotlib.pyplot as plt
image = np.zeros((200, 600, 3), np.uint8)
image = Image.fromarray(np.uint8(image * 255))
draw = ImageDraw.Draw(image)
# use a truetype font
font = ImageFont.truetype("/content/BalooDa2-Medium.ttf", 24)
draw.text((20, 25), "আমাদের দেশের ক্রিকেটাররা এখন টেস্ট খেলায় জিততে জানে", font=font)
draw.text((20, 50), "গরমে সুস্থ থাকুন", font=font)
plt.figure(figsize = (20,20))
plt.imshow(image)
完整的脚本在这里
在blender中使用自定义孟加拉语字体会产生这样的错误结果
我想知道如何在blender with text中实现与libraqm相同的功能。有没有办法安装libraqm with pillow,以便在blender中正确渲染字体?有没有其他办法?编辑:
事实证明Blender2.92已经包含了路径跟踪。在视口中拖放图像,然后对象>将图像跟踪到油笔
在选定对象上可以跟踪可拉伸到任何高度要求的路径,以生成三维文本
尽管输出跟踪中存在一些可见的问题,如下所示
来源:
黑白图像可以使用位图跟踪器进行跟踪,以转换为
svg路径
。Inkscape能够做到这一点,并且可以将其导出到blender。我找到了一个暂时的解决办法
我仍然更喜欢这样一个答案,即删除黑色像素(或反转),并沿Z轴将白色像素挤出到给定高度,以使用python创建网格,而不使用类似Inkscape的东西。为此,我目前的想法是使用python获取轮廓,以某种方式将其保存为矢量路径,保存为svg,最后加载到blender中
根据位图跟踪找到此非基于ML的纸张
我还发现了另外两种使用高度渲染字体的方法,但这不是我喜欢的方法。一个是使用bump
,另一个是使用displacement+bump
。使用“凹凸”不会提供适当的高度,但从远处看效果很好,可以获得正确的阴影
要使用displacement+bump
或仅使用displacement
需要对平面进行细分,以获得适当的高度,并使用搅拌器循环获得较好的效果。黑白掩模图像应作为图像纹理,采用三次插值的方法来改善结果