2021.02
スキニングのあるべき形
について考えていました。というのもしわラボ用素体のスキニングが辛かったからです(未完)。単純に Blender のオペレーションに慣れていないのが悪いのですが、モデリングして UV 開いてテクスチャを描いてリギングしてモーションつけてライティングしてという流れがかなり不可逆で、MVP を作ってから全体をイテレーションしてブラッシュアップしていくという方針で立ち向かおうとしたときの辛さにやられてしまいました。手戻りのコストがとても大きい。これができるようにするためには(ラフ段階では)工程を自動化・プロシージャル化するのが良さそうですが、結構な研究が必要そうです。まずひとつ力技で完成させたあとで考えます。
たまこまーけっとがすごい
細かい演技と間がひたすらすごいです。たまこラブストーリーではさらに極まっていました。
F# に入門した
.NET で動く OCaml という雑な認識をしていましたが、最近触り始めてコンピュテーション式や型プロバイダーといったすごい機能を知りました。すごい。 F# cheatsheet を写経して雰囲気を掴んでからドキュメントと仕様を読んでいます。
くるみ
私の中でにわかに筋トレブームが起こりつつあり、なかやまきんに君の動画を見ています。食事メニューの動画の中でαリノレン酸を取るためにアマニ油を飲んでいる場面があったのに触発されて、アマニ油と同じくαリノレン酸が豊富なくるみを食べ始めました。おいしいです。
2021.01
ZBrush を初めて起動した
去年のセールで買ったきり放置していた ZBrush を使い始めました。思ったより癖が強くてびっくりしました。とはいえ、オペレーションに慣れてしまえばあとは純粋な造形力の勝負という感じで能力の圧倒的不足に向き合わされています。絵を描くのに比べると筋肉や骨格の知識が直接的に役立つ気がするので勉強にはとてもいいです。頂点を意識するモデリングはどうしても造形よりトポロジーに目が行きがちなので、それと比べてもよりよい気がします。直近の目標はしわラボの素体を自由なライセンスにできるように自分で用意することですが、当たり障りのない素体を作り続けるのはつまらないので早く終わらせてかわいく動く美少女を作りたいです。でも UV 展開とリギングはやりたくありません。なんとかなりませんかね。
鶏と魚は皮を弱火でひたすら焼くとおいしい
最近フライパンのコーティングが剥がれてきたのでティファールから鉄製のものに変えました。それに伴って油をちゃんと敷くようになり、すべての炒めものがおいしくなりました。特にオムレツと鶏 / 魚のソテーはとてもおいしいです。オムレツは油を大さじ1敷いてよく予熱したフライパンに鶏ガラスープの素を小さじ0.5混ぜた溶き卵を入れて焼くだけ。卵をフライパンに落としたときにジュッと言うくらいがちょうどいいです。今までは空焚きがコーティングに良くないというのを過剰に意識して温まりきらないうちに入れていたのですが、しっかり予熱することで剥がれやすく外はカリッと中はトロッとしたとてもおいしいオムレツが焼けるようになりました。(テフロンは 200 ℃以上(つまり油が発煙し始める温度)にすると良くないということで、この程度の予熱なら問題はなかったはずです。)鶏や魚のソテーは塩を振って10分くらい置いたあと片栗粉(小麦粉がないので)をまぶし大さじ1の油を敷いたフライパンが熱くなり始めた頃に皮目から入れます。極めて弱い火で10分少々焼くと匂いが変わってくるので様子を見つつしっかり焼き目がついたらひっくり返して最後まで火を入れます。弱火でしっかり焼くと皮がパリパリになってそれだけでおいしいです。これまで野菜と肉を曖昧に蒸したものを食べ続けていたのでおいしい焼き物ができるようになって幸せになりました。
ケトルベルとマットを買った
何か道具を買うと運動のモチベーションが上がると聞いて買ってみました。ケトルベルとはダンベルの丸い部分だけを切り取ってケトルの取手のような物をつけた重りのことです。僕は初めて知りました。今のところ1週間くらい続いているのでやる気には多少つながっている気がします。筋トレグッズの身体性は馬鹿になりません。
AtCoder に登録した
何かあったときにさらっと DP が書けるようになりたいので練習します。とりあえず積んでいた蟻本を引っ張り出しました。
2021 やること
アニメを作る
自分の技術的興味と好みを満たせるものが何かと考えたときに 3DCG アニメがそれだと気づきました。 昔から完成作品を作ることよりもアセットパイプラインを整えることにのめり込みがちなのですが、本質に集中していきたいです。
ツールをいくつかリリースする
2020 年末は しわラボ を作っていました。 実用に供するにはまだ先が長いので引き続きがんばります。 3D のパイプライン整備、モデル・ポーズデータの作成、web フロントエンド開発とタスクが幅広いのでおもしろいです。 また、他にもアイデアだけ温まっている制作ツールがたくさんあるのでその中から一つ実装したいと思っています。
しかし、個人制作かつ中途半端な状態から公開していくような作り方をする場合、リリースって何なんでしょうね。
シェーダー芸に入門する
ピクセルシェーダーはある種の絵を描くための画材として非常に優れています。 そのスイートスポットを自分の絵に取り込みたいです。 最近 shadertoy をみてすごいやつを真似ています。
普段お世話になっている OSS を読む
何かをイチから作るのはおもしろいですが、そればかりだと自分のわかっている範囲のコードしか書かず技術的な向上が少ないので既存のすばらしいソフトウェアスタックに学びたいです。
ネタ帳:
量子情報を学ぶ
SF の面白さは現実世界の見方が変わる点にあると思っていますが、そもそも世界のありかたを古典物理の範囲でしか理解できていない(いや、古典物理すらわからない……)現状では楽しめる範囲が限られているように感じました。 古典計算機プログラマーがいらなくなった場合に量子計算機プログラマーに転身できるようになるという打算も込みで、世界の解像度を上げるために量子情報と関連する分野を芋づる式に勉強します。
【Blender】 いらないシェイプキーをまとめて削除する
使わないシェイプキー(Maya, Unity で言うブレンドシェイプ)が大量にあってファイルサイズが無駄に肥大化している場合、Python スクリプトで一括削除すると便利です。
シェイプキーが設定されているメッシュが m_avg オブジェクトにあり、Basis シェイプキー以外を削除したい場合は以下のようなスクリプトを実行します。
import bpy # 消したいシェイプキーが存在するメッシュのオブジェクト名 target_name = "m_avg" # 当該オブジェクトを選択する bpy.data.objects[target_name].select_set(True) # シェイプキーのリストを取得する shape_keys = bpy.data.objects[target_name].data.shape_keys.key_blocks # シェイプキーのリストを逆順に舐める # (先頭から消すとインデックスがずれるので後ろから消す) for i, shape_key in reversed(list(enumerate(shape_keys))): # 消したくないシェイプキーは除外する if shape_key.name != "Basis": # シェイプキーを選択して、削除 bpy.context.active_object.active_shape_key_index = i bpy.ops.object.shape_key_remove()
参考
tangent がないモデルに法線マップを貼る
キーポイント
tangent space 法線マップを貼る際には、法線マップを作ったときの接空間を頂点ごとに復元する必要があります。一般には DCC ツールからのエクスポート時やゲームエンジンへのインポート時に tangent を計算してモデルの頂点属性に tangent を追加することが多いですが、頂点属性に tangent を入れずにフラグメントシェーダーで tangent を動的に計算することで接空間を復元することもできます。
tangent 再計算のためのキーとなるのが GLSL の dFdx() / dFdy() 関数(HLSL では ddx() / ddy() 関数)です。tangent を計算するには UV 座標とピクセルの位置座標の偏微分が必要ですが、dFdx() / dFdy() を使えばそれが求められます。(ただし、この関数で計算できるのはスクリーン座標系での偏微分なので適宜座標系を変換する必要があります。)
詳細
- チュートリアル13:法線マッピング
- 隣接頂点の uv, position から tangent を計算するための具体的な方法が書いてある
- MikkTSpace.com
- 法線マップを作るときによく使われているらしい実装
- Followup: Normal Mapping Without Precomputed Tangents | The Tenth Planet
- フラグメントシェーダーで tangent を計算する方法
VFX of 2020.04
ツイッターで見たかっこいいエフェクト / 3DCG のまとめ 2020.04
got really inspired by @playtankhead's smoke effects and had some massive fun with volume textures #VFXfriday #ue4 #unrealengine #madewithunreal #vfx #rtvfx #gamedev pic.twitter.com/BfrhCUCxIH
— 💀𝖇𝖋𝖙𝖉💀 (@bftd) 2020年4月3日
Nature magic shield. Made with UE4#VFX #Shield #Effect #Magic #FX #RealTimeVFX #Hovl #HovlStudio #UE4 #UnrealEngine #gamedev #MadeWithUnreal pic.twitter.com/FwAlvpHpkA
— Vladyslav Horobets (@HovlStudio) 2020年4月3日
Chest VFX😆#Unity #unity3d #vfx pic.twitter.com/d0du4r0U97
— Sakura Rabbit 樱花兔 (@Sakura_Rabbiter) 2020年4月12日
Strange Brew | Practicing fluid tricks in #Houdini.
— Chris Cousins 🇪🇺 (@ChrisCousins_) 2020年4月12日
This just uses the 'Pop-Fluid' node, no special fluid solvers - quick and clean with low particle numbers too (max 600k). Then delete 99% of them and use the rest for bubbles. Rendered with @redshift3d pic.twitter.com/9GRYvxQUMr
Friday evening particle effect doodle with #VisualEffectGraph in #Unity. I just thought to try to create particles that are spiraling and spinning around a force field... #madewithunity #gamedev #abstract #generative #realtimevfx #vfx pic.twitter.com/iURnAZE3Kv
— Olli Sorjonen (@Olmirad) 2020年4月24日
UI fire test🥳#Unity #unity3d #madewithunity #vfx pic.twitter.com/cSlJ75iVDC
— Sakura Rabbit 樱花兔 (@Sakura_Rabbiter) 2020年4月26日
Two different styles #realtimevfx #VFX #UE4 #UnrealEngien #UE4Study #gamedev pic.twitter.com/HHHr0mP1f3
— Husky (@HHHHHusky) 2020年4月27日
背景で地面と馴染ませるのによく使われるPDOですが、セル調のぶっ刺しを解決するのにも使えますね。
— Wataru@The Last of Us Part II (@WataruVFX) 2020年4月30日
PDO(Pixel Depth Offset) is useful not only for environment assets also cel shading FX in order to blend naturaly to ground (opaque surface).#UE4 #realtimevfx #gamedev #shader pic.twitter.com/ErZPG7h9cT
VFX of 2020.03
ツイッターで見たかっこいいエフェクト / 3DCG のまとめ 2020.03
Friday evening #VisualEffectGraph thing in #Unity. I just wanted to doodle a while with voxel-style things... Real-time baked SDF (from meshes) and then the data is visualized with VEG. #madewithunity #indiedev #gamedev #abstract #realtimevfx pic.twitter.com/zldFTfpl5z
— Olli Sorjonen (@Olmirad) 2020年2月28日
Sketch [#MadeWithUnity | #Houdini] pic.twitter.com/DlwVF03HqY
— John Parsaie (@johnparsaie) 2020年2月29日
💡The core of the tricky soft ball algorithm is from Entagma's Houdini tutorial https://t.co/x8GL4796GJ. I implemented and optimizated it for mobile web pages. The source code is on https://t.co/XdjQeLv29W. Feel free to use it. 😀#threejs #web #webdev pic.twitter.com/fYgjzck73z
— Sen Zh (@SenZh4) 2020年3月1日
Cinema4d stillframes countdown#cinema4d #redshift3d #artistic #octanerender #animation3d #vfx pic.twitter.com/yal5JQyziN
— Daniel Ñañez (@Daniela50018712) 2020年3月1日
Divide 2. It was a little tricky figuring out how to get this effect onto a curved surface with the polygon restrictions
— Perry Cooper (@perry__cooper) 2020年3月1日
.
.
.#cinema4D #c4d #dailyrender #render #art #arte #design #3D #cgi #satisfy #satisfying #octane #otoy #studioshare #surface #compilation #divide #divider pic.twitter.com/tVW5vH9m7r
I'm incredibly proud to announce Mitsuba 2 (https://t.co/U62rBn8Yqq), the result of more than three years of hard work by my group (@merlin_ND, @gllmLoubet, @seb_spe, Delio Vicini, @tizianzeltner) pic.twitter.com/8w109Zkrrx
— Wenzel Jakob (@wenzeljakob) 2020年3月3日
Mitsuba 2 のソースコード公開
Light laser beam with🌈spectrum😇#Laser #LaserBeam #LaserRay #VFX #FX #Unity #Unity3D #MadeWithUnity #Hovl #HovlStudio pic.twitter.com/OYktj66fGr
— Vladyslav Horobets (@HovlStudio) 2020年3月4日
Fire & Smoke effects for @MandragoraGame, made with #FluidNinja for Unreal#indiegames #UnrealEngine #UE4 #realtimevfx #vfx #fluidsimulation #mandragora pic.twitter.com/6mKBdFZRLz
— Andras Ketzer (@FluidNinjaVFX) 2020年3月4日
New operator in Operation Lovecraft: the investigator cyberdoll Galatea is joining the team with her signature schiavona and revolver.https://t.co/rt39cISH1d#3dart #ue4 #UnrealEngine #gamedev pic.twitter.com/EtNTHFDSVj
— Project Helius (@PROJECT_H_Dev) 2020年3月5日
Today is a lightning day#ue4 #vfx #realtimevfx #visualeffects pic.twitter.com/hNr8TcAfKO
— マックス (@pelengami) 2020年3月5日
I've finally started adding some #Houdini into my effects. Really love the workflow so far...#gamedev #VFX #realtimeVFX #VFXreel #MadeWithUnreal #VFXfriday #UE4 pic.twitter.com/CmZhtdBpCt
— pmargacz (@pmargacz) 2020年3月6日
Aandddd..
— Marco (@MarcoPPavanello) 2020年3月7日
Real Snow is now part of Blender 2.83 :)https://t.co/rKr1dbAGXC#b3d pic.twitter.com/kAlJPoqTa1
Mohammed Kamal Ahmed shared his experience with a new method for stunning tree simulations in #Houdini:https://t.co/WpqCjw4kao#gamedev #indiedev #3dart #simulation #3dmodeling #rendering @sidefx pic.twitter.com/anog38PSN1
— 80 LEVEL (@EightyLevel) 2020年3月8日
Experimenting with cheap yet good looking fur for our monsters. Or as Mandragora VFX guy @AndrasKetzer has put it: "Custom fur technology, based on parallax mapping, modulated with noise."#UnrealEngine #UE4 #VFX #indiegame #indiedev #gamedev pic.twitter.com/2P08hlctdv
— Mandragora (@MandragoraGame) 2020年3月11日
汎用的なアイデアな気がする
Quick view of the technique I use to make toon like fx with no spritesheet, using dissolve shaders.
— Matias Mahler (@mahler_matias) 2020年3月13日
The nice thing about this technique its that you can quickly clearly visualize the end result and the timing.
#vfxfriday #realtimevfx #shader #gameart #photoshop #UE4 pic.twitter.com/1vfewxKRdE
汎用的なアイデアな気がする(2)
Flash Dash!!!
— Hactrix - DevLog (@Hactrix) 2020年3月17日
----#UE4 #indiedev #gamedev #unity3d #screenshotsunday #screenshotsaturday #VFX #Speed pic.twitter.com/HHsz2XAdno
Waterfalls & Flowmaps for @MandragoraGame, made with #FluidNinja for Unreal#indiegames #UnrealEngine #UE4 #realtimevfx #vfx #fluidsimulation #mandragora pic.twitter.com/fH59l6aGGQ
— Andras Ketzer (@FluidNinjaVFX) 2020年3月19日
It's either AOE damage of buff.... not sure about this spell... #gamedev #VFX #realtimeVFX #VFXreel #MadeWithUnreal #VFXfriday #UE4 pic.twitter.com/Hm9huJj8Td
— pmargacz (@pmargacz) 2020年3月20日
The ball is here again😄#Unity #unity3d #vfx #madewithunity pic.twitter.com/r8wGYWqOpk
— Sakura Rabbit 樱花兔 (@Sakura_Rabbiter) 2020年3月21日
𝗢𝗿𝗯 𝗼𝗳 𝘁𝗵𝗲 𝗥𝗶𝘀𝗶𝗻𝗴 𝗦𝘂𝗻 - Lockdown render #4 ☀️🏠 Music by The Animals.#houdini #redshift3d #motiongraphics #motiondesign #3drender #digitalart #vfx #cgi #house #rising #sun #theanimals #oldtimers #60s pic.twitter.com/awjKRkdIrb
— Q. (@qornflex) 2020年3月23日
Created this cool Loot VFX with a Gemstone surprise inside. And I shared the process in link below, so you can create your own Loot Boxes too!
— Gabriel Aguiar Prod. (@GabrielAguiarFX) 2020年3月24日
Check it out: https://t.co/jYZLeXV2zO#VFX #Effects #Unity #Unity3d #realtimeVFX #indiedev #gamevfx #madewithunity #gamedev #gameart pic.twitter.com/bxXci3e1xA
I have a good update for the radial slash#ue4 #vfx #realtimevfx #visualeffects pic.twitter.com/ELuEkpJwJp
— マックス (@pelengami) 2020年3月25日
8 hour FX sketch I recently did. #realtimevfx #vfx #UnrealEngine4 #UE4 #vfxfriday #gamedev pic.twitter.com/FTjZ4xIaD2
— Jamal Coleman (@jamdatFX) 2020年3月27日
LaserEye #UE4 #Unrealengine #UE4Study #gamedev #VFX pic.twitter.com/NXhF7cAPc3
— 犬二哈 (@HHHHHusky) 2020年3月30日
Afternoon #VisualEffectGraph thing in #Unity 😃. Fluctuating lines which don't make U-turns back and they move pretty much in diagonal directions, making turns only after certain intervals of time. #madewithunity #gamedev #generative #abstract #realtimeVFX #vfx pic.twitter.com/o9qnJZ7ADw
— Olli Sorjonen (@Olmirad) 2020年3月31日