情報は力ではない

VimとかC++とかCUDAとか。

仮で目を作る時のメモ

最近、Autodesk Maya キャラクターモデリング造形力矯正バイブルをやってます。
Mayaの本だけど作り方は参考になると思って読みつつモデリングをしてます。

www.borndigital.co.jp

その中で仮の、眼球のシェーダを作る工程があって
blenderではどうすればできるだろうと思ったのでマテリアルノードの練習にと思ってやってみた。

blender versionは2.78b、Blenderレンダーでやってます。

マテリアルノードは次のような感じ。

f:id:masahiro8080:20170518162532p:plain

ジオメトリノードの生成(英語だとOrco。Original Coordinateの略かな?)から
メッシュの座標を取得して、RGB分離でZ座標の値をカラーランプの係数として使う。
カラーランプのカラーと他のマテリアルのスペキュラーをミックスして出力した。
このマテリアルを目に割り当ててみると次のように見える。

f:id:masahiro8080:20170518161938p:plain

正直なところ、ジオメトリノードの生成が何を返しているのかはよくわかってない。
ドキュメントを見ると

Using the Original Coordinates of the mesh.

と書いてあったのだけれど、よくわからなかった。

Geometry Node — Blender Manual

この辺りもちゃんと勉強しないとなぁ。

Level Designer Quick Startをやった。

ちゃんとUE4を1から学び直さないといけないなぁと思ってラーニングをやってる。

f:id:masahiro8080:20170421234431p:plain

Level Designer Quick Start

docs.unrealengine.com

ちっちゃな部屋を作りながら操作の仕方やアセットの配置の仕方、マテリアルの設定の仕方を学べる。
ここでちゃんと知ったことはLightmass Importance Volumeの意味とDirectional Lightで太陽を動かせること。

Lightmass Importance Volume

docs.unrealengine.com

Lightmass Importance Volumeについてはここでざっくりと学んだ。
これを設定することで必要な部分だけ品質の高いライティングをすることができる。 また、これを設定することでこの設定範囲内だけ詳細にライティングを計算すれば良いのでビルドが早くなるはず。

Directional Light

f:id:masahiro8080:20170421234314p:plain

平行光源。Atmosphere Sun Lightにチェックを入れ、Directional Lightを回転させることで 太陽を動かすことができる。太陽を動かすことで夜明けや夕焼け、夜を表現できる。
Atmosphere Fog(じゃなくていいかもだけど)で全体を明るくしておかないと太陽見れないので注意。

所感

この辺りの話は極め本でやったようなきがするのだけど、全く忘れてた。 やっぱりちゃんと毎日UE4に触れて作業をすることが大事だなと改めて思った。

Blender勉強会 Step 3に行ってきた。

Blender勉強会に行ってきた。

https://togebu.doorkeeper.jp/events/57339

今までスカルプトはとっつきづらいと思ってやってこなかったので 良い機会だなと思って参加した。東ゲ部、初参加でした。

@kurosaurusさんによるスカルプト講座

www.slideshare.net

ブラシのショートカットやDyntopo、Multiresolutionの使い方を学んだ。 スカルプトとは関係ないけど、「ビュー>レンズ」で画角を弄れるの知らなかったので学びだった。

@tomB_saikayaさんの講座

即興でskinモディファイアから手を作る方法やZBrushのtrimブラシ?っぽいブラシを作成する方法について解説していただいた。

skinモディファイアから手を作る方法では、頂点を枝分かれさせるときにメッシュが思った通りにならない場合があるけど、その場合はその枝分かれしている頂点を「ルーズとしてマーク」してあげるといいみたい。

f:id:masahiro8080:20170304232017p:plain

trimブラシっぽいブラシを作成する方法はScrape/Peaksを複製して「エリア平面」を「ビュー平面」に変更し、左のロックをオンにすると良い。

もくもくで作ったもの

スカルプト解説の際に作ってた何か。

f:id:masahiro8080:20170304231201p:plain:w300

skinモディファイアから手を作る方法を解説している際に作ってた手。

f:id:masahiro8080:20170304231000p:plain:w300

犬。

f:id:masahiro8080:20170304230518p:plain:w300

感想

初めてBlenderというかCG関係の勉強会に来たけど非常に学びになったし、刺激になった。 スカルプトは今まで使ってこなかったけど、少し慣れたので使えるところでは積極的に使っていきたいと思う。 東ゲ部Blender勉強会に参加して良かったし、非常に楽しかった。 講師の@kurosaurusさん、即興で解説していただいた@tomB_saikayaさん、スタッフのみなさんありがとうございました!

武器をアタッチする方法

武器をActorにアタッチする方法について少し調べたのでメモ。

アタッチする方法

端的に言うとattachToComponentを使えば良い。

f:id:masahiro8080:20170122123531p:plain:w200

これを使うことでParentSocket NameTargetのActorをアタッチすることができる。

docs.unrealengine.com

Targetへの値の渡し方は次の2種類あると思う(他にもあるのかな)。

  1. Add static mesh componentの戻り値を使う
  2. Spawn Actorの戻り値を使う

1.の方法はもんしょの巣穴blog [UE4] 武器切り替えで解説している方法。2.の方法はHow do I attach an Actor Blueprint to a socket in a Character Blueprint? - UE4 AnswerHub で解説している方法。

どちらがどういうメリット・デメリットがあるのかはまだわかってない。あまり違いはないのかもしれない。

短いけど、今日はこれで。

Blenderで作ったモデルをUE4にインポート

f:id:masahiro8080:20170108233709p:plain

Blenderで上図のようなモデルを作ったのでUE4に持ってきた時のメモ。

バージョン

Blender 2.77a
Unreal Engine 4.14.2

Export

Blenderで作ったモデルをfbxでエクスポート。設定は特にいじってないつもり。アニメーションはつけてないので、アニメーションの設定は 見ていない。
f:id:masahiro8080:20170108134736p:plain:w150f:id:masahiro8080:20170108134744p:plain:w150f:id:masahiro8080:20170108134752p:plain:w150

Import

fbxをUE4にインポート。 ここも特に設定はいじってないつもり。 詳しくはらりほまさんのBlender to UE4 (ver.2016) | rarilogを見た方が良いと思います。
f:id:masahiro8080:20170108135239p:plain:w150

インポートした結果がこちら。お腹周りの影が気になるので解消したい。
f:id:masahiro8080:20170108141027p:plain

マップにおいて見た。やはり影が気になる。
f:id:masahiro8080:20170108141322p:plain

インポート時の設定のNormal Import MethodをCompute NormalsからImport Normals and Tangentsに変更してみたら影が消えた。
f:id:masahiro8080:20170108234153p:plain

まだSmooth情報もない気がする。気のせいかもしれないけど。
もう少し調べてみたいと思う。

感想

FBXのExport/Importの設定がまだよく分かっておらず、こうすべきみたいな情報が まだ得られていない。色々試してみる必要がありそう。

新年の目標

新年一発目なので、簡単に目標をば。 去年まで特に目標とか決めずにきたけど、一旦決めてみようかと思う。

  • ゲームを作る。
  • ぷちコンに出る。
  • UE4もしくはBlenderの記事を12本書く。

とりあえずこんなものかと。

去年入門したUE4とBlenderを今年はもっと使っていきたいという思いが今は強いかな。

短いけど、こんなところで。

Yokohama.vim #8に行って来た。

Yokohama.vimに初参加して来ました。

yokohamavim.connpass.com

@gu4さんによる挨拶

www.slideshare.net

最初にYokohama.vimVimの軌跡の比較をしていた。 スライドに記載していたはずのYokohama.vimの軌跡が残念ながら消えてたらしい :( Yokohama.vim #0は2010年から続いているみたい。 Yokohama.vim.osaka? #7には自分は大阪(Osaka.vim #6)から参加していたなぁとか思ってた。

そういえば10/29(土)にOsaka.vim #8があるそうです。関西の方は是非!

osaka-vim.connpass.com

次にアイスブレイクとして、自己組織化ゲームをした。 指示役と移動役という役割を持った二人一組で行うゲーム。 指示役が「前」といえば、移動役が一歩前に歩くといった感じ。 複数のチームの中でどのチームが一番多く歩けるかというのがゲームに対するモチベーションだった。

今回はVimバージョンということで、指示役が行う指示はhjklだった。 自分の相手は@h0k0r0biさんで、指示役をやらせていただいた。 指示を出すとき、慣れるまでhが左でlが右ということがすっと出てこなかった。 Vim上でカーソルを移動する際におそらくhとかlとかを考えずに指が覚えているからだろうなぁと思った。 このゲームではhjkl以外のmapを使用可能だった。自分たちは特に使用しなかったけど ゲーム中に「gg」とか聞こえて来た気がする。

改めて@h0k0r0biさんありがとうございました。

@Watson_DNAさんの発表

speakerdeck.com

TeXVim scriptのクイックソートを比較していた。 TeXVim scriptも遅いねという感じだった。

@Linda_ppさんの発表

すごいということしかわからなかったのだけれど、CコンパイラVim scriptで作成したいという話だったと思う。すごい。

@thincaさんによるVim 8.0の機能の説明

:help version-8.0の内容を@thincaさんが解説するという急遽開催されたもの。 色々便利なものがあったけど、まだ自分は全然把握できていないので復習をする必要がありそう。

したこと

特に何もせずに話を聞いたり、少しもくもくしたり、TweetVimを始めたりしていた。

所感

Yokohama.vimは初参加だったけど、わいのわいのした感じで楽しかった。 ただ、vimrc読書会でお会いする方々に話しかけたい気もしたけど、人見知りなので話しかけれなかったのが残念だった(これは自分の問題だけれども)。 また参加する時にはお邪魔したいと思います。