Python Blender 的 math.trunc()

1 投票
2 回答
2223 浏览
提问于 2025-04-16 16:52

我在尝试在Blender 2.49b的Python中使用math.trunc这个函数。

但是我遇到了这个错误:

AttributeError: 'module' object has no attribute 'trunc'

我也导入了math模块。

错误出现在这一行:

uv[i][0] = trunc(uv[i][0] * 100000) / 100000

我还尝试用int来做,比如:

uv[i][0] = int(uv[i][0] * 100000) / 100000

但这也给我带来了一个错误:

类型错误:'float'对象不可下标访问

那么我该如何截断这个值呢?:(

谢谢你!

2 个回答

1

这可能跟Blender使用的Python版本有关(我想应该是Python 2.5)。

在Blender里试试这个:

import math
help(math)

这个操作会让Blender崩溃,但你可以在文件菜单下看到库的数学部分,然后可以往下滚动,看看Blender使用的Python版本里有没有trunc这个函数。如果没有,那就能解释为什么会出现错误。

1

第二个错误看起来是说你代码里的 uv 是一个浮点数对象,而你却试图用 uv[i] 这样的方式去访问它。你可以试试用 math.trunc(uv) 来看看结果。另外,你也可以通过 hasattr(math,'trunc') 来检查一下这个 trunc 函数是否可用。

撰写回答