blender 3D Viewport 背景設定 python スクリプト 20240324
https://x.com/blenderzionad/status/1771821839364268145
WEBカラーチャート HTML・CSSで使える色の見本一覧 - PEKO STEP
日本の伝統色 和色大辞典 - Traditional Colors of Japan
カラーコードを get して
3D Viewport の 背景色を 変更しよう
設定操作方法は
ここを参照してくれ
blender 4 で 3D Viewport 背景色変更を pythonで Gradient color 変更できる?
Gemini
ChatGPT3.5
に 訊ねたら
最初はできると解答してくれるんだけど
テキストエディタでのGradient Colorsのインターポレーションモードの設定は、通常の方法ではサポートされていないため、スクリプトで直接変更することはできません。
代わりに、テキストエディタの外観を変更する方法として、テーマをカスタマイズすることができます。これにより、テキストエディタの背景色やテキストの色などを設定することができますが、Gradient Colorsのような詳細なカスタマイズはできません。
試作 第一段階
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
あ
あああああああああああああ