Why is the default size of Blender's primitiveCUBE 2m x 2m x 2m?
I investigated why the default size of Blender's primitiveCUBE is 2m x 2m x 2m, not 1m x 1m x 1m. I understood that this is related to visibility and operability (visual sensation on a computer and operability with hand muscles) when constructing and generating a CUBE as a solid object at the origin of 3D space.
BlenderのprimitiveCUBEのデフォルトの大きさが1m×1m×1mではなく、2m×2m×2mである理由を調べました。3D空間原点で立体オブジェクトとしてのCUBEを構築生成する場合の視認・操作性(パソコンでの視認感覚・手筋肉操作性)が関わっていることを理解しました。
1 CUBE大きさに関するケアレスミス
有吉北貝塚北斜面貝層の3D座標取得遺物をBlender3DビューポートにプロットするBlenderPythonスクリプトを状況に応じて幾つか作成しています。遺物すべてを5㎝×5㎝×5㎝のCUBEで表現しています。
最近、プロット高速化改善策を施したBlenderPythonスクリプトを新たにつくり走らせたところ、遺物の大きさ(CUBEの大きさ)が異なってしまうミスを犯しました。ミスの原因は、BlenderにおけるCUBEのデフォルトの大きさは2m×2m×2mであると理解していましたが、primitiveCUBEと指定すれば、それはprimitiveCUBE(size=1)を意味すると勘違いしていたからでした。
このケアレスミスをキッカケに、BlenderではなぜCUBEのデフォルトの大きさ、つまりprimitiveCUBEの大きさが2m×2m×2mであり、区切りのよい単位と自分が考えた1m×1m×1mのCUBE(つまりprimitiveCUBE(size=1))ではないのか、その理由をwebやChatGPTで調べてみました。
2 Blenderにおいて bpy.ops.mesh.primitive_cube_add() で生成されるCUBEのデフォルトサイズが size=2(= 2m×2m×2m)である理由
理由は3つほどあるようです。
2-1 Blenderの内部基準(Unit Scale)が 「1 Blender Unit = 1m」であるため
Blenderではデフォルトの単位系は「1 Blender Unit = 1m」です。
その上で、size=2 という引数は「中心から各方向に1m(つまり全体で2m)」という意味になります。
Blenderでは空間原点(あるいは中心)との対応でオブジェクトを認識し操作しますから、原点(あるいは中心)とCUBEの大きさを考える時、次のような関係になります。
size=2 → -1m 〜 +1m の立方体(合計 2m)
size=1 → -0.5m 〜 +0.5m の立方体(合計 1m)
つまり、原点(あるいは中心)を意識し、それとの関係でCUBEの大きさを捉える時、size=2 という引数が「1 Blender Unit = 1m」に対応することになり、最も基礎的大きさであると考えることができます。
2-2 分かりやすい視認性を優先した設計
Blenderでは、画面立上げと同時に立方体(CUBE)が追加され、表示されます。この際、1m立方体だと小さすぎて3Dビューポートで目立たないことがあります。初心者ユーザーでも「見てすぐわかる形」が重要であり、そのため、デフォルトでやや大きめの 2mサイズ を選んでいると考えられます。
2-3 Blender初期バージョンとの互換性
Blenderの初期のバージョンでは、実世界単位(mやcm)ではなく「Blender Unit」が独立した単位として使われていました。その当時、size=2(-1〜+1)で作られたCUBEは、原点を中心に対称な形で作るための定番でした。後から単位系(Metric)に対応した際に、古いスクリプトとの互換性を保つため、「デフォルトsize=2」が維持された可能性があります。
3 感想
BlenderのprimitiveCUBEのデフォルトサイズがsize=2である理由を知ることができました。その根本は原点(中心)から「1 Blender Unit = 1m」のサイズのCUBEという点にあります。それは、3D空間のなかでCUBEを構築生成する行為(パソコン画面で3D空間を認識して、マウスやキーボードを手筋肉で操作してCUBEをつくる活動)があってはじめて生まれた観念であると理解しました。腑に落ちました。
Blender3DビューポートにおけるprimitiveCUBE(size=1)とprimitiveCUBE(size=2)
0 件のコメント:
コメントを投稿