我正在为我的A-Level课程创建一个3D星图,我很想知道;如何通过Blender场景中所有对象的坐标检索和枚举,然后使用这些坐标相应地调整摄像机位置?
谢谢
答案 0 :(得分:1)
以下脚本将找到场景中名称以' star'开头的所有对象的中心。
import bpy
lx = [] # list of objects x locations
ly = [] # list of objects y locations
lz = [] # list of objects z locations
for obj in bpy.data.objects:
if obj.name.startswith('star'):
lx.append(obj.location.x)
ly.append(obj.location.y)
lz.append(obj.location.z)
def centre(points):
return min(points) + (max(points) - min(points))/2
focus_centre = (centre(lx), centre(ly), centre(lz))
由此可以将相机定位到适合的位置,您可以使用它来定位一个空白,将其设置为相机中trackTo约束的目标。您可能还想使用最小值和最大值来确保相机位于包含星星的区域之外。