blender 坐标系 金属度

目录

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

设置金属度

具体操作

[1. 绕 X 轴旋转 90 度](#1. 绕 X 轴旋转 90 度)

[2. 绕 Z 轴旋转 90 度](#2. 绕 Z 轴旋转 90 度)

旋转矩阵示例

坐标系讲解视频


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

python 复制代码
  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() 什么意思

设置金属度

python 复制代码
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 方法:

python 复制代码
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小知识

相关推荐
youngong8 小时前
强迫症之用相机快门数批量重命名文件
数码相机·文件管理
weixin_466485114 天前
halcon标定助手的使用
数码相机
诸葛务农5 天前
ToF(飞行时间)相机在人形机器人非接触式传感领域内的应用
数码相机·机器人
塞北山巅6 天前
相机自动曝光(AE)核心算法——从参数调节到亮度标定
数码相机·算法
美摄科技6 天前
相机sdk是什么意思?
数码相机
phyit6 天前
全景相机领域,影石何以杀出重围?
数码相机
鄃鳕6 天前
装饰器【Python】
开发语言·python·数码相机
聪明不喝牛奶7 天前
【已解决】海康威视相机如何升级固件
数码相机
PAQQ7 天前
1站--视觉搬运工业机器人工作站 -- 相机部分
数码相机·机器人
诸葛务农7 天前
人形机器人基于视觉的非接触式触觉传感技术
数码相机·机器人