コミュニティ発のヒント集を読んで、より優れた Unity 開発者になろう
BRONSON ZGEB / UNITY TECHNOLOGIESSenior Content Developer
Jan 6, 2021|3 Min

毎週火曜日、Unity ユーザーの間では、Twitter 上で #UnityTips というタグを付けて役立つヒントを共有するというイベントが行われています。過去 4 か月間に投稿されたビジュアルの強化やワークフローの改善に関して、最も役立つヒントのリストをまとめました。この記事を読んで、皆さんの Unity スキルをレベルアップさせてください。
ビジュアルを強化する
アーティストでない方でも、これらのヒントはグラフィック品質を向上させ、皆さんのゲームを集団から抜きんでた、注目を集める作品に変えるために役立つでしょう。
- シェーダーグラフを使用して、スタイル化された滝のシェーダーを作成する方法の紹介があります。
- 組み込みのレンダラーを使用していて、シェーダーコードの記述が得意な方向けの、スタイル化された水面のシェーダーを作成する方法を紹介しています。
- MudBun は、リアルタイムのボリューメトリックなエフェクトを構築するための非常に優れたパッケージです。このパッケージで実現できるボリューメトリックな水のパーティクルを使って出来ることをご覧いただけます。
- 技術寄りのユーザーの方向けに、独自の流体パーティクルレンダリングシステムを構築するための高度なアプローチが紹介されています。
- Unity のデフォルトのライティングの見た目に退屈されている方は、このガイドに沿っていつものライティングとは一味異なる結果を生み出してみましょう。並行して、Unity のライティングについて少し深く学ぶこともできます。
- ラインレンダラーを使って背景をボリューメトリックライティングで照らしているように見せる簡単な方法が紹介されています。
- シンプルな髪やファーのエフェクトをシェル法(断面のテクスチャを積み重ねて毛並みを表現する手法)で実現する事例が紹介されています。
- シェーダーグラフを使ってメッシュにシンプルなアウトラインを追加する簡単な方法をお試しください。
- Unity のレイトレーシングを使ってシャドウに色を追加する方法が紹介されています。
- 新しく追加された Master Stack を使って、シェーダーグラフで頂点をアニメーション化する方法の紹介です。
- レイトレーシングに興味がある方は、60 秒でレイトレーシングによる反射の実装方法がわかるチュートリアルをぜひご覧ください。
- 物体を破壊する表現を実装する方法が紹介されています。
- コマンドバッファーを使って選択したオブジェクトをアウトライン化する方法が紹介されています。
エディターワークフローを改善する
2020 年、Unity エディターは大きく改善されました。そして、次に紹介するヒントを使ってエディターに更なるカスタマイズ・微調整を加え、これまでにないほど素早く、スマートに仕事ができるようにすることができます。これらのヒントをまだご覧になっていない方は、この機会にぜひご覧ください。
- 重複するオブジェクトの自動命名スキームを定義できるようになった改善に関する解説が出ています。
- スクリプトの define がインスペクターの配列として表示されるようになり、従来のカンマで区切られたリストよりもかなり使いやすくなったことに関する解説が出ています。
- オブジェクト間でデフォルトのパラメーターを素早くコピーするための便利な新機能、プリセットに関する解説が出ています。
- デバイスシミュレーターの紹介ツイートが出ています。複数のデバイスにまたがる UI をより正確にテストしてみましょう。
- 組み込みのタグを使用して、ビルドからオブジェクトを自動的に削除する機能の紹介が出ています。
- パーティクルエディターに用意されている便利なキーボードショートカットについての解説が出ています。
- この解説ツイートで紹介されている無料のカスタムパッケージを使って、ゲームオブジェクトの階層を整理しましょう。
- プロジェクトに使われているバージョンの Unity が手元にインストールされていない時は、ダウンロードアーカイブを探しに行くのではなく、このツイートで紹介されている Unity Hub の機能を使ってワンクリックで Unity のバージョンをインストールするのがいいでしょう。
- 自動ドメインリロードを無効にすることで、即座にプレイモードに入ることを可能にするプロジェクト設定の実験的機能の紹介が出ています。
プログラマー向けのヒント
プログラマーの方には以下で紹介する、細かいながら便利なショートカットやコードスニペットが非常にありがたい存在なのではないでしょうか。これらを覚えておき、コードを書くときにいつでも思い出せるようにしておけば、次に似たような状況に遭遇したときに効率よく作業を進められるようになります。
- このツイートで紹介されているスニペットを使用して、円や球体上のランダムな点を計算することができます。
- このツイートで紹介されているコードを使えば、ラジアンと度数の変換ができます。
- 拡張機能を使用して列挙型に機能を追加する方法をご覧ください。
- インスペクターのフィールド部分に対応するスクリプトでフィールドを参照するために nameof() を使用すると、コードのメンテナンスが容易になります。
- シリアル化されたフィールドを非公開にしておきたい場合は、厄介な 0649 警告を修正するためにこのツイートで紹介されているコードを適用してみてください。
- インターフェイスを使用している場合、参照先のオブジェクトが NULL でも参照が有効のままになることに悩まされたことがあるのではないでしょうか。この問題を解決する良い方法があります。
- 物理的挙動を個別にシミュレーションすることで、物理に従って動く物体の軌道を正確に予測できる方法が紹介されています。
- Unity には物理演算のデバッガーがあることをご存知ですか。これを使えば、目に見えないトリガーを見つけたり、紛らわしいコリジョンの問題を解決することができます。
- この解説ツイートでは、同じオブジェクトの複数のインスタンスにコストの高い関数を自動的に分散させる賢い方法が紹介されています。
--
この記事でご紹介した便利なヒントから何か新しいことを学んでいただければ幸いです。もっとヒントを見たい方は、Twitter で #UnityTips のハッシュタグを検索してください。また、毎週火曜日に自分のヒントやベストプラクティスを共有してコミュニティに参加することもできます。@Unity3d をフォローして、毎週火曜日に開催される #UnityTips Tuesday のリマインダーをお受け取りください!
