Pythonスクリプトのメモ。
位置、回転、スケール。
●Cubeという名前のオブジェクトを、Z方向に1移動する。
import bpy #←これを読み込まないとスクリプトでオブジェクトを操作出来ない。 bpy.data.objects['Cube'].location.z +=1
●選択したひとつのオブジェクトを、Z方向に1移動する。
import bpy bpy.context.selected_objects[0].location.z += 1
●選択したひとつのオブジェクトを、オブジェクトの中心Z方向を軸にして15度回転させる。
import bpy import math #←mathを読み込まないとpi(円周率)が使えない。 hako = bpy.context.selected_objects[0] atai = 2 * math.pi / 360 * 15 #←15度をラジアンに変換 hako.rotation_euler.z += atai
※角度を指定する際、値は度数法ではなく、孤度法。
なので、度数法のつもりで15と入力すると、15ラジアン入力した事になり、
859.35度回転してしまう(57.29×15)
・円を360度で示すのが度数法。
・半径が1の円で、長さ1の弧が作る角度を1ラジアンとするのが孤度法。
■■■■■■■■■■■■ 1度は何ラジアンか? ■■■■■■■■■■■■
円周の長さは直径×円周率。
円周の長さは孤度法だと2πになる。角度は2πラジアン。
360度=2πラジアンなので、
2πラジアンを360分割すれば、度数法の1度になる。
これはπラジアンを180分割するのと同じ。
3.14159/180=0.0174532777777778
1度を孤度法にすると、約0.0174533ラジアン。
■■■■■■■■■■■■ 1ラジアンは度数法だと何度か? ■■■■■■■■■■■■
比率で計算する。
2πラジアン:360度
πラジアン:180度
どんな数も、同じ数字で割れば1になる。
π÷π:180÷π
↓
1:180÷π
180÷3.1415=57.29582790879777
1ラジアンは、約57.29度
●選択したオブジェクトのX位置とY位置を、-1~1の範囲で、ランダムに変える。
import bpy import random #←randomを読み込まないと乱数が使えない。 hako = bpy.context.selected_objects for i in hako: i.rotation_euler.x += random.uniform(-1,1) i.rotation_euler.y += random.uniform(-1,1)
●選択したオブジェクトを、X、Y方向に、-30~30度の範囲で、ランダムに回転させる。
import bpy import math import random hako = bpy.context.selected_objects for i in hako: atai = 2 * math.pi / 360 * 30 #←30度をラジアンに変換 i.rotation_euler.x += random.uniform(-atai,atai) i.rotation_euler.y += random.uniform(-atai,atai)
●選択したオブジェクトのスケールを2倍にする。
import bpy hako = bpy.context.selected_objects[0] hako.scale *= 2
●選択したオブジェクトのスケールを軸ごとに変える。X軸を1、Y軸を1、Z軸を3にする。
import bpy hako = bpy.context.selected_objects[0] hako.scale = (1,1,3)
●参考サイト
情報処理 I - 第15回:Python による Blender の制御 和歌山大学
ラジアン(弧度法)の意味と「度」への変換方法 sci-pursuit.com