Unity Weekly #018
Unity道場2021.1
2021/06/17に「Unity道場2021.1」がオンラインで開催されました。
YouTube上で当日のアーカイブを閲覧できます。 また、Unity Learning Materials上でそれぞれの講演の動画およびスライドを確認できます。
- Unity新機能まとめ2021 | Unity Learning Materials
- ごっこランドに於ける Addressables 活用事例のご紹介 | Unity Learning Materials
- async/await,disposableを使って素直で読みやすいコードを書く | Unity Learning Materials
- インディーゲーム開発の現状と未来 2021 | Unity Learning Materials
- FANTASIANの明日使えない特殊テクニック教えます | Unity Learning Materials
- Unityの基本機能を使用したグラフィック向上テクニック | Unity Learning Materials
- 「原神」におけるコンソールプラットフォーム開発 | Unity Learning Materials
The Secret Behind Valve’s Flickering Lights
The Secret Behind Valve's Flickering Lights - Alan Zucconi
- この記事では、「Quake」や「Half-Life」などで見られるライトのちらつき効果の起源と、それらのゲームで実際に利用されているちらつき効果の実装方法について説明しています。
- 「Quake」や「Half-Life」などのちらつき効果実装で実際に利用されている
lightstyle
という関数の説明と、どのようにちらつき効果を定義するかについて解説しています - 上記の関数を実装したコンポーネントが入ったunitypackageを記事中からダウンロードできます。
Archery combat mechanic in 2D pixel-perfect Unity game
Archery combat mechanic in 2D pixel-perfect Unity game - Pav Creations
- この記事では、2Dゲームでアーチェリーのような武器を用いた戦闘システムを実装する方法について解説しています。
- プレイヤーのアーチェリー発射準備モーションにアニメーションイベントを仕込み、そのイベントをベースにキャラクターやHUDの制御を行っています。
- 発射する矢に
CircleCollider2D
をアタッチして当たり判定を取ります。また、RigidBody2D
により矢の物理挙動をシミュレーションしています。
Tutorial: How to Make a Game Like Space Invaders
Unity Tutorial: How to Make a Game Like Space Invaders | raywenderlich.com
- この記事は、スペースインベーダーのようなゲームをUnityで実装するためのチュートリアルです。
- プレイヤーおよびエネミーの実装から配置、レーザーの発射の実装、エフェクトや効果音の実装、ゲームロジック、画面遷移までの、ゲームの実装方法をひととおり解説しています。
GPU Mesh Voxelizer
GPU Mesh Voxelizer Part 4: Mesh Translation and Rotation – Bronson Zgeb GPU Mesh Voxelizer Part 5: Filling the inner voxels – Bronson Zgeb
- BronsonさんによるGPU Mesh Voxelizerに関する連載のパート4とパート5です。過去記事はこちらから確認できます: パート1、パート2、パート3
- パート4では、回転と平行移動をサポートします。Unityの座標システムに則って、このシステムが保持するローカル座標をもとにボクセルをワールド座標で描画します。また、コンピュートシェーダーの構造体を用いてリファクタリングを実施します。
- パート5では、ボクセル化されたメッシュの内側を塗りつぶします。レイとトライアングルの交差にはMöller-Trumboreアルゴリズムを用います。
Deferred Frag Shaders
Deferred Frag Shaders | Team Dogpit on Patreon
- この記事では、Unityの提供する遅延レンダリングパスと互換性のあるフラグメントシェーダーの実装方法について説明しています。
- 既存の「Unlit Shader」テンプレートから作成したシェーダーを、デバッグオーバービューなどを用いてデバッグしながら改良して、遅延シェーディングに対応させます。
- フラグメントシェーダーでGBufferに値を書き込む方法について解説しています。また、既存のフォワードシェーディングとも互換性を保つためのパスの記載方法と
#pragmamulti_compile_fwdbase
についても言及しています。