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小知识

相关推荐
提着小灯找呀找1 天前
3D相机的种类
数码相机·3d
龙猫略略略2 天前
无人机如何根据航线重叠率与相机参数计算航线间隔与拍照点
数码相机·无人机·航线·qgc
博主逸尘3 天前
uniApp实战二:仿今日相机水印功能
javascript·数码相机·uni-app
越甲八千3 天前
C++海康相机DEMO
开发语言·c++·数码相机
没有不重的名么3 天前
摄相机标定的基本原理
人工智能·数码相机·计算机视觉
le1sive4 天前
安卓开发相机功能
数码相机
qq_526099135 天前
图像采集卡的技术概述
图像处理·数码相机·计算机视觉
huangweibo的博客6 天前
【机器人手眼标定算法简介】
数码相机·算法·机器人
沐雲小哥6 天前
视觉图像坐标转换
数码相机·自动驾驶