スパスパ切っていく系

どうも、ぼくです。
結構久々に書きますね。

この最近はBlender界隈でもハードサーフェースモデリングとか流行ってて、そちらで役に立ちそうな感じの「スパスパ切っていく系」のAdd-on(BoxCutter,Quick Boolean,Carver)が増えてきてたりしますね。まあ一部機能が重なってますけども。

まあ、それはそれとして、SNS等から幾つか流れてくる情報というか文章の中で気になるところがあったので、そちらあたりをスパスパ切っていくことにしましょう 🙂

前提?として「Blender初心者が知っておくべきこと(日本語訳)」をどうぞ。

 

「Blenderと和睦」「Blenderと和解」

まあ、なかなかデレてくれない部分で気持ちはわかんなくはないですが、使い方としては正しいとは言えないんじゃないでしょうか。実際に喧嘩したわけでもないと思いますので。あれです、「浸透言うな」的なヤツ、と言えばいいでしょうか。
実際にこれらの言い回しを使っている方の傾向が「Blenderを使っていない」側にかなり偏っていることもあって、よくない言い方をすると、その言い回しを使うことで「お里が知れる」状態になってしまう、そういう部分もありますので、少しばかり気をつけられた方が良いかと思います。

 

「Blenderのエンコードが遅い」

「エンコード」ではなく「レンダリング」。ジオメトリ計算を行うのは「エンコード」とは言いません。何かほかのソフトと間違っていないでしょうか?

 

「講座」

やってみた系をして、「講座」と称されるのはちょっと抵抗がありますね。折角音声付いてても実況止まりとか、明らかに準備してないとか、そういうものは見はじめてからわかるので地味に時間を使ってしまって、「うわーこれ残念」という感じで見るの止めてしまうことも。
折角作るんだったらもっと閲覧数を稼げる方向にですね、ゲフンゲフン。

 

「Blenderはクソ」

いやまあ、自身の手に馴染まない道具なんか二階の窓からさっさと放り投げてしまう、これに限るんですが、ずっと後でまた使おうとして自身がそう言ったという事実に悩まされないように 🙂 ちなみに、Blenderはまた始めても、そこに費用は発生しません。素晴らしいですね。

まあ、「クソなところはクソ」と言うとそこから改善される部分ももちろんあるので、すべてがダメというわけではないですが、「M***みたいになればいいのに」とかそういうアレはなかなか通りにくいでしょうし、改善/変更の案は rightclickselect.com で受け付けているようですのでそちらで提案してはいかがでしょうか?

 

「フリーソフトのBlender」

これすごく細かいかもしれませんが、「フリーソフト」ではなくて「フリーソフトウェア」の表記の方が好ましいです。これについてはこれまでも議論があった経緯もあって、あちら方面からお叱りを頂きかねませんので。「フリー」は「自由」の意味ですよ、っていう説明付きで。

 

まあ、細々と書いていきましたが、大事なのは「小さいことは気にするな」ってことです。こんなこと気にしてたらBlender楽しめないですからね 🙂
あと、「参加する(Get Involved)」っていう方向で。

 

ではー。

 

広告

ボーンの回転って?

どうも、ぼくです。

きのう #3dmu にコーヒー飲みに行った(!?)わけなんですが、その懇親会でちょっと質問された、というかボーダー柄のシャツ着た人(「こわくない」って連呼してた方)が「この人に聞けばいいよ」的なことで無茶振りされて取りあえず回答しました、ということがありまして。

スクリーンショット 2015-11-01 13.18.14

「現在フレームのボーンがどのくらい回転しているか知りたい」場合に、Blender Python API でアクセスする方法というか何というか。

先に答えを書いておくと、こうです。これが回答として要件に合致したかどうかはわかりませんが。
metarigオブジェクトののforearm.Lボーンの回転値を1フレーム目から19フレーム目まで。

scene = bpy.data.scenes[0]
bone = bpy.data.objects['metarig'].pose.bones['forearm.L']
for x in range(1,20):
    scene.frame_set(x)
    print(bone.rotation_quaternion)

「コマ数」を変更して、値を取得、というのを繰り返すわけですね。

実際に回答したのは回転値を取得する部分だけでしたが。

ボーンの情報を得たいということで「bpy.data.objects[‘metarig’].data.bones[‘forearm.L’]…」とやってしまいがちですが、そちらは初期ポーズ、すなわちエディットモードで表示される状態で、本当に必要な情報は「.pose.bones[‘forearm.L’]」の方ですよ、ということですね。

ちなみに、オブジェクトやボーンのプロパティへアクセスしたい場合には、プロパティエディタの入力項目にマウスカーソルを合わせて少し待つと何か出てきますので、そこを見ればいいのではないかと思います。

スクリーンショット 2015-11-01 13.18.30

スクリーンショット 2015-11-01 14.56.42

あと、メニューの Help > Python API Reference から、オンライン上にあるBlender Python APIリファレンスを開いておくとよさげ。

ということで。

Blender発表会の資料。

どうも、ぼくです。

昨日「夏の総決算、Blender+αの大発表会3(仮)」という、Blender使っている人がネタを持ち寄って発表する会に参加しました。

会の様子はTogetterでまとめられたものがあるのでそちらを見ると雰囲気わかるんじゃないでしょうか。

なお、自身の発表資料はこちら。

発表資料の冒頭に見せた画像の動画Verはこちら。

データはBlendswapにあげておきました(データアップロード後の許可待ちだった)ので、Blenderで開いて[Alt]+[A]でアニメーション再生してお楽しみください。

ではー

8月21日はバニーの日。

どうも、ぼくです。

8月21日はバニーの日、ということのようなので動画貼っておきます、Big Buck Bunny。もしかしたら家電店とかで見た動画だったりして。

4k60FPS版もあるので、「画質のいい」のをお求めの方はそちらを。

これ見てからこの間公開されたオープンムービーのCosmos Laundromat – first cycleを見ると、Blenderの進化、パネぇ、って感じになりますね 🙂

そういえば、次のBlender オープンムービーはもう始まってて、今度はNPR(Non Photorealistic Rendering)だとか。そのあとはAgent 327とか、冬は Caminandes の続編の制作が決まっているとかいう話。ほへー。

ではー。

BlenderのUIフォントに軽量なものを指定する

どうも、ぼくです。

「Blenderを日本語化したら固まった」とかそういう話をごくたまに聞きます。もしかしたら回避できるかも的な方法を紹介しておきます。実際に使用したバージョンは2.75.4、デイリービルドですけど、2.73以降だったらいけるんじゃないでしょうか?

ただ、自身の環境ではBlender 2.75の日本語化、というかUIメッセージを日本語に変更する際に固まったりすることがないので、もし、問題が解消したら教えてください。

2015-08-13−003

まず、Blender 2.75の日本語化、というかUIメッセージを日本語に変更する方法を確認しておきましょう。こことかここに書いてあるやつですね。

  1. User Preferences を開く
  2. System タブをクリックする
  3. International Fonts: にチェックを入れる
  4. Language に Japanese(日本語)を指定する
  5. Translate: の Interface および Tooltips にチェックを入れる
  6. ユーザー設定の保存(Save User Settings) をクリックして設定を保存する

上記の2.の後に、一つ手間を加えます。

  1. User Preferences を開く
  2. System タブをクリックする
  3. Interface Font に 日本語フォントを指定する
  4. International Fonts: にチェックを入れる
  5. Language に Japanese(日本語)を指定する
  6. Translate: の Interface および Tooltips にチェックを入れる
  7. ユーザー設定の保存(Save User Settings) をクリックして設定を保存する

Blender本体に同梱されている国際化表示フォントは日本語以外にも中国語ほかの文字が収録されています。「使うよ」っていう段階で、グラフィックメモリ上に文字が展開されます。これがアルファベット+日本語の文字だけだったら消費するメモリ量も少なくなるんじゃないの?ってことです。

そうなると、どのフォント使う?ってことになります。まあ、日本語の文字が収録されているフォントでファイルサイズの小さめのものを選んでおくといいかな、とは思いますが、IPAゴシック とか M+ のあたりのフォント、Android 4.0 から採用されている モトヤLシーダ3等幅 などかな、と。まあほかにも使えそうな日本語フォントはこちらあたりから探してみるといいんじゃないでしょうか。

そうそう、モトヤLシーダ3等幅 は Apache 2.0 ライセンスで提供されているので、Blenderのフォントとして使用は問題なくできるはず。ただ、どうやってダウンロードするの?な感じなのでメモしておきます。

  • https://github.com/android/platform_frameworks_base/tree/master/data/fonts を開く
  • 一覧から README.txt をクリック、Apache 2.0 ライセンスで提供されていることを確認して、一覧に戻る
  • 一覧から MTLc3m.ttf をクリックして、表示されたページの “This file has been truncated, but you can view the full file. “の”view the full file“のリンクをクリックしてファイルを保存。

BlenderはOSのフォントラスタライザは使ってないので、OSにフォントをインストールしなくても、ファイルパスの指定さえすれば使えるようになります。自分の場合は /usr/local/fonts/ にファイルを置いています。

2015-08-13-002

モトヤLシーダ3等幅 フォントを指定の上、日本語化した後は、同じくシステムタブから文字を見やすく調整してみてもいいかも。

  • 文字を少し大きく表示させる、 General: > DPI の数値を72から若干大きく 80 くらいにする
  • 描画をさらに軽くするためにText Draw Options: > Text Anti-aliasing のチェックを外す

そういえば、指定するフォントを創英角ポップ体にすると親しみやすく(?)なるとか。

ということで、ではー。

宇宙コインランドリー第1話

どうも、ぼくです。

海の向こうでは SIGGRAPH が はじまっているようで、BlenderのBOFとかブースとかいろいろあるようで。また、日本Blenderバーガー界のドンが殴り込みに行っているらしいとか。

さて、オープンムービープロジェクトである、Project Gooseberryのパイロットムービー、”Cosmos Laundromat – First Cycle“がリリースされ、youtubeで視聴できるようになっています。

これは、当初計画されていた60分のムービーの「パイロット版」で、第1話といったところ。より多くの資金を集めることができたら続きも制作するとのこと。なお、資金はスポンサー、寄付やBlender Cloudによるもので賄われています。

Want to see more? Subscribe to the Blender Cloud, our Open Production platform. https://cloud.blender.org/join

Youtubeでの視聴は是非HD画質で。それはエンドロール(本編じゃないのかよ)のクレジットの文字をはっきり見るため。実際の製作関係者に加えて、様々な貢献者がずらっと並んでて文字が小さいのでそれをみたい人は特に。というか、このエンドロールがBlenderのオープンムービープロジェクトの特徴なのかな、という感じですので。

そうそう、Blenderってオープンソースソフトウェアなんですよ(今更)。ノウアスフィアの開墾に「オープンソーススフトウェアとクレジット」について書いてある箇所があるので、興味を持たれた方は一読してみるといいんじゃないでしょうか。そちらはソフトウェアとして、の話なんですけどもね。

ではー。

冥王星のテクスチャを貼ってみる

どうも、ぼくです。

今回は前置きなしに、オープンソースの3DCGソフト、Blenderを使って冥王星を3D空間内に作成します。多分これはポエムで、「モデリングできなくてもUVくらい貼れるよね?」ってことで。

画面

とりあえず、http://www.blender.org/download/ から、Blenderをダウンロード、セットアップしている状態からスタート。

テクスチャファイルのダウンロード

まずは必要となるテクスチャを NASA 3D Resources で公開されているものを使用するので、対象のファイルをダウンロードします。その前に使用ガイドラインはちゃんと読んでおきましょうね?

ダウンロードが終わったら適当に展開しておきます。

UV球の追加とシームの設定

(ここからは特に説明入れないでいきます。画面がどうなっているか想像しながら読み進めていってください。)

デフォルト状態だと立方体があるので、それを削除しておきます。

次にBlenderを開いてUV球を追加します。追加メニュー([Shift]+[A]キー)から、Add Mesh > UV Sphere と選択します。パラメーターは全てデフォルトでいいです。

表面をなめらかにするためにツールシェルフから Smooth ボタンを押します。

追加したUV球は極部分のポリゴンが三角面になっていて都合が悪い(特に説明しない)ので、四角面にします。

  • エディットモードにします。
  • 極部分(地球でいうと北極、南極にあたる部分)の頂点を選択、[Shift]+[Ctrl]+[B]で頂点ベベルをかけます。かける度合いは0.01位で。
  • 頂点ベベルを実行した直後に選択状態の面を消去します。[X]キーを押して削除メニューから Only Faces で。

シームを切ります。「切ります」って一般的に使われます?

  • この状態で、適当に [Alt]+[右クリック] で経線方向にループ選択します。これがシームを切る辺になります。
  • エッジメニュー([Ctrl]+[E])から、Mark Seam を選択します。辺が赤くなりました。

UVマップの割り当てと表示

対象のオブジェクトを選択、エディットモードで Sphere Projection をUV Mapping メニュー([U]キー)から、Sphere Projection を選択します。この Sphere Projection は3Dビューの視点に依存するので、事前に適切な視点に切り替えておいてからコマンドを実行します。

  • フロントビュー
  • 平行透視

次にUVマップに画像を割り当てますが、割り当ては「表示用」と「マテリアル用」の設定の2つがあってここがわかってないと結構混乱します。もちろんここで詳しくは説明しませんけれども。

  • 表示用のUVマップ設定は、設定するオブジェクトを選択した状態で、エディットモードに切り替え、UV/Imageエディタ上で画像を読み込むor切り替え、で設定が可能です。
    • 3Dビューのプロパティパネル、Shadingを MultiTextureに指定します。
    • Texture Paintモード以外で3Dビューの表示モードをTextureにするとテクスチャとしてUV/Imageエディタで指定した画像が割り当てられていることを確認できます。
  • マテリアル用のUVマップ設定は、プロパティエディタから、マテリアル、テクスチャをそれぞれ設定します。
    • テクスチャを画像、Texture CoordinateをUVに。
    • Texture Paintモードでは、こちらが表示対象です。
    • それ以外では3Dビューの表示モードをMaterial,Renderedにすると確認できます。
      • 透過なテクスチャの場合はプラスShadingをGLSLに?

UVマップをここで微調整しておくといいですね。

さて、ここまでの行程で何か忘れている気がします。多分極の部分に穴が空いているはず。さてこれはどうしましょうか。極部分の頂点ループ選択して[S],[Shift]+[Z],0ですかね…。

デモ(?)

ちょっと球遊びが流行っている(?)ようなので。

anim