blender 坐标系 金属度

发布于:2025-03-07 ⋅ 阅读:(24) ⋅ 点赞:(0)

目录

指向原点,并保持y轴朝上

设置金属度

具体操作

1. 绕 X 轴旋转 90 度

2. 绕 Z 轴旋转 90 度

旋转矩阵示例

坐标系讲解视频


指向原点,并保持y轴朝上

  direction = -camera.location
  rot_quat = direction.to_track_quat("-Z", "Y")  # [[1, 0, 0], [0, 0, -1], [0, 1, 0]]
  camera.rotation_euler = rot_quat.to_euler() 什么意思

设置金属度

def fix_metallic(default_value=0.125):
    for material in bpy.data.materials:
        if material.use_nodes:
            nodes = material.node_tree.nodes
            try:
                bsdf = nodes.get("Principled BSDF")
                if bsdf:
                    # 设置金属度
                    bsdf.inputs['Metallic'].default_value = default_value
            except Exception as e:
                print(f"Error setting metallic for {material.name}: {e}")
        else:
            print(f"{material.name} does not use nodes.")

具体操作

1. 绕 X 轴旋转 90 度

如果你想让相机的 Y 轴朝上,可以尝试绕 X 轴旋转 90 度。这会把相机的 Z 轴从前向后旋转,同时使 Y 轴朝上。

camera.rotation_euler[0] += 1.5708 # 90 degrees in radians

2. 绕 Z 轴旋转 90 度

如果你要让相机的 Y 轴朝上,但方向仍然是平面旋转,绕 Z 轴旋转 90 度也是一个常见的方式。这种方式适用于你想让相机改变观察角度,但不涉及上下方向的变化。

camera.rotation_euler[2] += 1.5708 # 90 degrees in radians

旋转矩阵示例

如果你想手动应用一个旋转矩阵,可以利用 Blender 的旋转方法进行旋转,像这样:

import math import bpy # 让相机绕 X 轴旋转 90 度 camera = bpy.context.scene.camera camera.rotation_euler[0] = math.radians(90) # 绕 X 轴旋转 90 度

或者使用 to_quaternion 方法:

import math

import bpy # 通过四元数进行旋转

rotation_quat = bpy.context.scene.camera.rotation_quaternion 
rotation_quat.rotate_axis('X', math.radians(90)) bpy.context.scene.camera.rotation_quaternion = rotation_quat

坐标系讲解视频

blender变换坐标系——blender小知识


网站公告

今日签到

点亮在社区的每一天
去签到