私は『LTC(Linearly Transformed Cosines)によるエリアライトのUnity URP実装』というタイトルでライトニングトーク(LT)を行いました。
Eric HeitzさんがSIGGRAPH 2016で発表した、エリアライトをリアルタイムに計算する手法をURP上で実装したので、その解説をしました。
以下に発表資料を共有します。
私は『LTC(Linearly Transformed Cosines)によるエリアライトのUnity URP実装』というタイトルでライトニングトーク(LT)を行いました。
Eric HeitzさんがSIGGRAPH 2016で発表した、エリアライトをリアルタイムに計算する手法をURP上で実装したので、その解説をしました。
以下に発表資料を共有します。
学マス、鼻先の黒い点が横から見た時に消えるよう処理をしている
— のすけ (@noske2801) May 16, 2024
顔面全体の輪郭線を切ってるのもあって横顔で急な黒が浮いて悪目立ちしたり、鼻の頂点が欠けてシルエットの綺麗さが失われてしまうことに対する対処かな pic.twitter.com/82TiB41IDR
学マス、顔周りでいうと眉毛と目周りが正面からはステンシルして髪より前に見えているが回転させていくと横顔に近づくある程度の角度でフェードアウトしてく。キャラのデザインによっては横から見た時ステンシルしてる眉毛はチラつきが気になったりするのでとても真似したい pic.twitter.com/8O7WjcbF9w
— とれ (@clubnemos) May 16, 2024
鼻のアウトラインがカメラの角度で消える実装は容易に思いつくのですが(カメラのViewベクトルと頭のforwardベクトルの内積からディゾルブ等)、
眉毛が角度でフェードする処理(正面から見ると眉毛が前髪より手前に、横顔に近づくと眉毛がフェードアウトする処理)の実装はすぐには思いつきませんでした。
技術的にも面白そうなテーマだと思ったので、Unityで再現することにしました。
スプラトゥーン3、けっこう面白いですね。過去作の1,2は未プレイでしたが、3からスプラデビューしました。
スプラ3で遊びながら、インクシェーダーの実装方法に興味が出てきたので、UnityのShaderGraphでそれっぽいものを実装してみました。
ShaderGraphの基本機能だけで構成されており、ノードの量も少なめにしました。
ShaderGraphの基本操作は解説しませんが、なるべく丁寧に説明をしたつもりなので、ShaderGraphの入門記事として参考にしてください!
UnityのShaderGraphでインクシェーダーを試作#Unity3D #ShaderGraph pic.twitter.com/PHxIkfnkiQ
— がむ (@gam0022) December 23, 2022
色変更
しきい値の調整
normalize.fmの第032回にゲスト出演させていただきました。
#normalizeFM の新エピソード公開しました。
— h_doxas (@h_doxas) October 18, 2022
今回は @gam0022 さんをゲストに、普段の収録と比較するとかなりテックな話題に寄った感じで、深い技術の話をいろいろうかがいました。
032. たゆまぬ努力とキャッチアップhttps://t.co/acML0WOwYQ
前日は@UnagiHumanさんの「Unityの新MeshAPIでMeshColliderをリアルタイム変形させる」でした。
こんな感じのY軸のビルボードをC#スクリプトを使わずに、シェーダーだけで実装しました。
GitHubリポジトリ: gam0022/unity-urp-shader
『Unityゲーム プログラミング・バイブル 2nd Generation』について、公式ページから紹介文を引用します。
Unityのゲーム開発現場で最も使われた決定版書籍が、大幅バージョンアップして登場! ゲームの開発現場で即実践できるスキルが身につく!
本書は、ゲーム開発で最も使われている「Unity」の入門や初級レベルを卒業した方向けの書籍です。ゲームの開発現場で、即実践できるスキルが身につくように、「37」の最新のトピックを網羅しました。
本書には、第一線の現場で活躍している23名の著者陣が参加しており、ゲーム開発のノウハウやTipsが満載されています。またほとんどのトピックでは、サンプルゲームがダウンロードでき、実際に動かしながら、実践的に学んでいくことが可能です。
Unityでのゲーム開発のさまざまな場面で、すぐに役立つ1冊となっています。
37のトピックのうち、私は次の2つを担当しました。
この記事では私の担当した内容を簡単に紹介します。
『Unityゲーム プログラミング・バイブル 2nd Generation 』を執筆しました!
— がむ (@gam0022) May 13, 2021
6/29発売です!
・レイマーチング:基礎から応用まで
・Timelineによる映像制作
の2本を担当しました。https://t.co/lYWIxseCON
9/8~9/12に開催されたKLab Expert Camp(KEC)の第2回にメンターとして参加しました。
今回のKLab Expert Campは「シェーダー」がテーマでした。
5日間(平日4日間+土曜日に成果発表&懇親会)の日程でひたすらシェーダーを書き続けるという、エクストリームかつ珍しい内容の技術系インターンです。
当日の様子はハッシュタグ #KLabExpertCamp から確認できます。
9/10(木)発売のCGWORLD vol.266(2020年10月号)に「デモシーンを支えるプロシージャル技術」という記事を寄稿しました。
デモシーンの魅力や、64KB制限で映像作品を創るための3Dモデルやテクスチャのプロシージャル生成について解説しています。
この記事をきっかけにCGWORLD読者の方々にもデモシーンに興味をもっていただき、国内のデモシーンが盛り上がっていくことを願っています。
もちろん自分の活動を知っている方々もお手に取っていただければとても嬉しいです!
9/10(木)発売のCGWORLD vol.266(2020年10月号)に「デモシーンを支えるプロシージャル技術」という記事を寄稿しました。
— がむ #CEDEC2020 9/4登壇, CGWORLD 10月号 (@gam0022) September 3, 2020
デモシーンの魅力や、64KB制限で映像作品を創るための3Dモデルやテクスチャのプロシージャル生成について解説しています。https://t.co/BPf1txlSxU#CGWjp #demoscene pic.twitter.com/XXpCh1xiFw
この記事の方法は古いので、改訂版を参考にしてください。
こんな感じのY軸のビルボードをC#スクリプトを使わずに、シェーダーだけで実装しました(Unity 2018.3.12f1)。
GitHubリポジトリ: gam0022/unity-legacy-render-pipeline-experiments/blob/master/Assets/Experiments/Billboard