Starlight Ensign

攻撃ヘリ製作開始

めずらしく手書きのラフがない状態からデザインし始めた.ヘリを選んだのは,戦車を作ったので攻撃ヘリがあったほうが物語性のあるシーンを作りやすいだろうという理由.

32

Blender+FreeStyleとSmokeの組み合わせ

FreeStyleの描写とSmokeを組み合わせてみたら,不都合が出てきた.

27

画像左上のドラム缶的な燃料タンクのところを見ると,そこだけ輪郭線が無いのがわかる.これは,FreeStyleでそのままレンダリングすると,Domainの箱の枠線が描写されてしまうということと絡んだ問題になっている.

試しにSmokeと普通の物体を組み合わせた状態でレンダリングしてみるとこうなる.

FS
この状態だと,Domainの枠線が表示されてしまっている.しかも,透明なオブジェクトとして処理されているわけではないので,向こう側の線は標示されていない.他の物体と貫通させてみると顕著に分かる.

KP
しかもなんか色々と変.

これを防ぐ方法として,FreeStyleのLineSetで除外Groupを設定してそこにDomainを突っ込んでみた.するとこうなる.

ExG

ex
右下部分以外の線が消えてしまった.

おそらく,Domainは透明オブジェクトとして設定されているわけではないので,Domainと重なっている部分が描写されずに切れてしまってるためだと思われる.そこで,RenderLayerを二つに分けて,線以外を描写するレンダーレイヤーと線のみを描写するレンダーレイヤーに分け,それぞれのレンダーレイヤーに対応させるレイヤーを分けてみる.

RLl
こんな感じ.

そして,それに合わせてCompositeNodeを以下のように組んでみた.

CN

すると,下の様な画像が出力される.

1

これで期待通りの画像が出力される.レンダリングにかかる時間も,体感ではそこまで伸びた感じはしない.動画作成時にも実用できる方法だと思う.最初の画像にこれまでの方法を適用した画像を示しておこう.

27s

アンドロイドの調整,FreeStyleに挑戦

先日のアンドロイドように,ゴーグルを作ってみた.

ゴーグル新調
中々様になっている.

とはいえ,アンドロイドはHUDを見る必要が無いので,こんなの必要ないといえば必要ない.設定上の本来の用途は,表情が変わらないアンドロイドが何を考えてどう行動しているのかを外部表示するための,表示機器である.

TEST
こんな感じで.

また,Cyclesの扱いにある程度慣れてきたので,FreeStyleに手を出してみた.輪郭線が出るタイプのレンダラで最も美しく輪郭線が出ると思っているVidroと比較してみると,こんな感じになる.

T-2v

T-2f
上がVidroで,下がFreeStyle.どちらもモデルは同じである.

Vidroは何も考えずにきれいな輪郭線を出してくれるが,FreeStyleは色々と調整しないといけない.逆に言えば,調整の余地がかなりあるので習熟すれば使えるんだと思う.現在困っているのは,主に物体同士が貫通してる時に輪郭線を表示してくれないことだ.例えば,Vidroの画像では,側面のサイドスカート部分を見ると,ヒンジと車体の切れ目の部分には輪郭線が引かれている.一方で,FreeStyleのほうは輪郭線が無い.これを踏まえて画像全体を見直すと,こういう貫通パーツ全体に輪郭線が表示されていないのが分かる.

何とかしたいところだけど,FreeStyleの資料ってどこかにないかしら?自分でもいろいろ探ってみようとは思う.

最近の成果

08bai

女の子の顔を作っていたのだが,この成果を前作ったアンドロイドに反映することにした.特に,口周りが前よりもリアルになっているのと,鼻の穴を作ったことが大きな変化だろう.あと,目がアニメバランス過ぎたので,0.8倍してみた.これでも実際の人間よりは大き目のはず.

まだ目の周りが微妙に不自然なままなので,微調整が必要.

BlenderのCyclesで草原

CyclesでHairをGPUレンダリングできるようになったので,草原の素を作ってみた.

草原の素
素晴らしい,とてもはやい!

くさわけ
そういえば全然弄ってなかったダイナミックペイントと組み合わせて,草を分け入る動画を試作してみる.WeightマップにCubeが通り過ぎたところをペイントして,そのWeight情報を基にHairの長さを決定しているだけだ.非常に簡単.

ただ,進行方向に草をなぎ倒すのは少々面倒かもしれない.物理演算でやるのは無駄に重いだろうし,望んだ結果を得るのが逆に難しいと思う.一番現実的なのは,

  • 物体が通った後の草をすべて刈り取る(WeightにDynamic Paintして,HairのLengthで反映)
  • 新たに通過した後の場所に草を植えこむ

の手順だろうか… この手順なら,植える方の草の向きはエミッターの設定次第でどうとでもなるだろう.

Blender Game Engine に手を出す

最近はBlender Game Engineに手を出してる.
というのも,Untyはどうにもとっつきにくい部分があったのよね.自分はプログラムのテクニックや,テクニックの身に付け方をあまり知らないのでCGの側のテクニックで(ある程度速度や柔軟性を犠牲にしても)対応できる方が好ましい.

そこで手を出したのがBGE(Blender Game Engine).これはBlenderに初めから同封されているゲームエンジンで,ノードエディターと似たようなインターフェースを使えば,プログラミング皆無でもゲーム制作が出来る.

何より自分が助かったのは,Blenderでのaction(ムービーの構成要素となる,ひとかたまりの動きのシーケンス)を使って動きの無茶を利かせられるところ,オブジェクト同士の親子関係を動作にもそのまま活かせるところとか.まあ,後者はUnityでもできるんだけどね…

BDG
これは中央の陣地を護るタワーディフェンスゲームのひな型を作ろうとしているところ.カメラも砲もインターフェースパネルも親子関係を利用すれば簡単に連動させられるのですこぶる楽.

STG
こっちはSTG.実はこれが最初にBGEで作ったゲーム.疾走感を出すために奥で星を吐き出すオブジェクトが高速回転していて,そこからランダムに星が飛び出して後ろへ飛び去って行くようになっている.親子関係を使うことでかなり楽をしている.
キーボード入力やマウスオーバー,アクション同士のスムーズな合成(ジャンプしながら前進するなど)も最初からBGEの機能として搭載されているので本当に簡単.

ただ,最初にどういうゲームを作りたくて,何を取得して何をするのかという設計をしっかりしておかないと,全体の見通しがものすごく悪くなるので注意が必要.プログラムを使わなくていい反面,すべての状況を俯瞰し難いからだ.

Pythonを使えばもっとすっきり,かつ複雑な事も出来る.なのでPythonが使える人にもおすすめ.

Audi A4 B8 進捗

調べた結果,A4の2008モデルは一般にB8と呼称されているらしい.なのでそれに従ったタグをつけることにした.

1wip

製作はこんな感じでやっている.3面図を貼り付けたオブジェクトを用意しておいて,それに合わせて作っていく.

2.2

Y軸とZ軸の位置を合わせてから…

2.4

X軸の位置を合わせる.これを各点にわたって繰り返して,そのあと写真と見比べながら,斜めから見た印象を整える.基本はアンドロイド製作のときに学んだスキルの応用.

16

特に,フォグランプ周りみたいに開口部に厚みをつけるとか,そういうのは人間の目の作成方法が応用できた.

16.4

ケツは形状が複雑で,とにかく分割が多い.今のところ取り敢えずパーツだけ配置して放置している.

16.5

意外と見えるブレーキ.ただの円盤でもいいのでおいておくだけでも大きく違う.これが無いと車内の光が透過して,足回りが無駄に明るくなってしまう.まあ,あとで底面には板を挿入するつもりではあるが…

16.7

というわけで,作業開始3日でこのくらい.