blender 3D Viewport 背景設定 モード切り替え python スクリプト 20240324

blender 3D Viewport 背景設定 python スクリプト 20240324


 

https://x.com/blenderzionad/status/1771821839364268145

 

WEBカラーチャート HTML・CSSで使える色の見本一覧 - PEKO STEP

 

 

日本の伝統色 和色大辞典 - Traditional Colors of Japan

www.colordic.org

 

 

 

カラーコードを get して 

blender  

3D Viewport の 背景色を 変更しよう

 

設定操作方法は

ここを参照してくれ

 

togetter.com

 

 

 

 

 

blender 4  で 3D Viewport 背景色変更を pythonで Gradient color 変更できる?

 

Gemini

ChatGPT3.5

 

に 訊ねたら

最初はできると解答してくれるんだけど

 

テキストエディタでのGradient Colorsのインターポレーションモードの設定は、通常の方法ではサポートされていないため、スクリプトで直接変更することはできません。

代わりに、テキストエディタの外観を変更する方法として、テーマをカスタマイズすることができます。これにより、テキストエディタの背景色やテキストの色などを設定することができますが、Gradient Colorsのような詳細なカスタマイズはできません。

 

 

 

試作 第一段階

chatgptblender.blogspot.com

 

 

Edit

Preferences

Themes

3D Viewport

 

 

 

 

 

 

 

Single Color

Linear Gradient

Vignette

 

選択できる APIが 提供されていないようだ

 

 

また

 

 

Gradient High/Off

Gradient Low

 

この2色を設定する APIも 提供されていないようだ

 

 

 

しかし できた

 

 

 

 

import bpy

# 背景色を選択する番号を入力
# 1: Single Color(単色)
# 2: Linear Gradient(線形グラデーション)
# 3: Vignette(バイネット)
selected_background_number = 1  # 入れ替える番号を指定

# 背景色を指定番号に応じて設定する関数
def set_background_by_number(number):
    # Blenderの設定を取得
    preferences = bpy.context.preferences
    theme = preferences.themes[0]

    # 背景色を設定
    if number == 1:
        theme.view_3d.space.gradients.background_type = 'SINGLE_COLOR'
    elif number == 2:
        theme.view_3d.space.gradients.background_type = 'LINEAR'
    elif number == 3:
        theme.view_3d.space.gradients.background_type = 'RADIAL'

# 背景色を選択した番号に設定して保存
set_background_by_number(selected_background_number)
bpy.ops.wm.save_userpref()

 

 

 

 

 

 

 

 

 

 

色設定は 自動で できないが

 

 

 

上の Gradient Hgih/Off の 色だけ指定できる

 

color_code_2 = "#C600A5"  # 

color_code_2 = "#A239a5"  # 

 

 

 

import bpy

# カラーコードを定義
color_code_1 = "#B2CCB2"

color_code_2 = "#A239a5"  # 色
#color_code_2 = "#C600A5"  # 薄い紫色

# カラーコードからRGB値に変換
color_1 = tuple(int(color_code_1[i:i+2], 16) / 255.0 for i in (1, 3, 5))
color_2 = tuple(int(color_code_2[i:i+2], 16) / 255.0 for i in (1, 3, 5))

# 3Dビューポートの背景色の1つ目を設定
bpy.context.preferences.themes[0].view_3d.space.gradients.high_gradient = color_1

# 3Dビューポートの背景色の2つ目を設定
bpy.context.preferences.themes[0].view_3d.space.gradients.low_gradient = color_2

 

 

 

 

 

 

 

 

 

Win +shift + C

で カラーピックして

 

カラーコードを取得

 

 

 

import bpy

# カラーコードを定義
color_code = "#cc3a3e"

# カラーコードからRGB値に変換
color = tuple(int(color_code[i:i+2], 16) / 255.0 for i in (1, 3, 5))

# 3Dビューポートの背景色を設定
bpy.context.preferences.themes[0].view_3d.space.gradients.high_gradient = color

 

 

 

import bpy

# カラーコードを定義
color_code = "#B2CCB2"

# カラーコードからRGB値に変換
color = tuple(int(color_code[i:i+2], 16) / 255.0 for i in (1, 3, 5))

# 3Dビューポートの背景色を設定
bpy.context.preferences.themes[0].view_3d.space.gradients.high_gradient = color

 

 

 

 

 

 

 

49d5ff

eaa8db

 

 

 

 

 

 

 

 

 

 

 

 

あああああああああああああ