Unity Weekly #021

Unity Weeklyは、@yucchiy_が読んだUnity関連の記事の中から、気になった記事を週報形式で紹介するコンテンツです。

記事に関するコメント等は、@yucchiy_までリプライいただけると幸いです。もし気に入っていただければRSSやブクマいただけると喜びます。

一覧はこちらから閲覧できます。

Unity 2021.2 Feature Preview

image6 0

Unity のワークフロー高速化の舞台裏 | Unity Blog パッケージマネージャーの柔軟な機能セットを活用して必要なツールを見つけよう | Unity Blog

  • この記事ではUnity 2021.2で導入された、ワークフローの高速化とパッケージマネジャーの機能セットについて紹介しています。
  • Unity のワークフロー高速化の舞台裏では、2021.2で以前のバージョンから改善されたワークフローのうち、エディターの起動速度最適化、モデルやテクスチャインポートの高速化、大規模なヒエラルキー構造下でのエディター操作の高速化、IL2CPPの高速化、アセットバンドル読み込みのメモリ効率化について説明しています。
  • パッケージマネージャーの柔軟な機能セットを活用して必要なツールを見つけようではパッケージマネジャーで新たに導入された、機能を実現するために複数の設定済みパッケージをまとめ、そのセットをインストールできるようにした機能セット(Feature sets)について紹介しています。

Noise Variants

tutorial image

Noise Variants

  • この記事はCatlike CodingさんのPseudorandom Noiseの第5回目のチュートリアルです。
  • 複数のオクターブのノイズを組み合わせてフラクタルパターンを作成する方法、パーリンノイズとバリューノイズにTurbulenceオプションを追加する方法、タイルノイズの実装についてそれぞれ解説しています。

How Does the StringBuilder Work in .NET?

How Does the StringBuilder Work in  NET  750x410

How Does the StringBuilder Work in .NET? (Part 1) - Steve Gordon - Code with Steve How Does the StringBuilder Work in .NET? (Part 2) - Steve Gordon - Code with Steve

  • この記事では、.NETのStringBuilderがどのように動作するか紹介しています。
  • パート1ではstringの結合とStringBuilderによる文字列の結合の効率について、実際にプロファイリングを取りながら説明しています。
  • パート2ではパート1のStringBuilderのプロファイリング結果の解説を、StringBuilderの内部構造を踏まえて解説しています。

CA.unity #2

101326b834310625bef79201d2b3e4a8c4888efa

CA.unity #2 - Unity Meetup

  • CA.unityの第2回目がオンラインで開催されました
  • 資料や配信内容は、後日一部の発表のみUnity Learning Materialsにて公開される予定とのことです。

Mesh Deformation in Unity

Wario

Mesh Deformation in Unity – Bronson Zgeb

  • この記事では頂点シェーダーでメッシュを変形する方法について紹介しています。
  • メッシュの変形についてはこちらのGDCのトークを参考に、この実装を頂点シェーダーで行っています。
  • 頂点を操作することで影響する法線の向きを正しい向きに修正する方法と、マウスによる操作の実装方法についても合わせて説明しています。

Array iteration performance in Csharp

Array iteration performance in C# — Branching and parallelization | by Antão Almada | Jun, 2021 | Medium

  • この記事では、C#の繰り返しのパフォーマンスのうち、とくに分岐予測と並列化について解説しています。
  • 繰り返し中にifによる分岐を取り除くことで分岐予測を効率よく行い、パフォーマンスの向上ができることを示しています。
  • sum関数をSIMD命令が有効になるように書き直すことで、もとのsum関数よりも高速に動作することを示しています。

Coloring Raymarched Volumetric Light as it passes through Stained Glass

Coloring Raymarched Volumetric Light as it passes through Stained Glass | by Valerio Marty | Jul, 2021 | Medium

  • この記事では、ステンドグラスを通過する際色付きのVolumetric Lightをレイマーチで実装する方法について紹介しています。

ZipでUnityのexeファイルを配るの止めたい。InnoSetupを使おう

ZipでUnityのexeファイルを配るの止めたい。InnoSetupを使おう - Qiita

  • この記事では、Unityで作成したWindowsのexeのインストーラーを簡単に作成できるInnoSetupというツールと、その利用方法について紹介しています。
  • 設定をGUIで行いexeファイルを指定するだけで、Program Filesにアプリケーションを配置するインストーラーが作成できます。VSCodeのインストーラーもInno Setupで作成されているようです。

Unlit Dynamic Decals/Projection

SimpleResult

Unlit Dynamic Decals/Projection | Ronja’s tutorials

  • この記事では、Unlitなデカールを実装する方法について紹介しています。
  • デカールの実装はのテクスチャの参照をフラグメントシェーダー内で、デプスバッファーによる深度とカメラからオブジェクトへのベクトルをもとにオブジェクトのワールド座標を再構築して、その値をもとにテクスチャのuv値を計算しています。
  • 上記のワールド座標の再構築の際に利用する深度は、そのままカメラからの距離を表しているわけではないため画面端ではズレるので、カメラの向きとカメラからオブジェクトへの向きの内積をもとに補正する方法も説明してます。

Optimizing performance of Unity games

Profiler header

Optimizing performance of Unity games - M2H

  • この記事では、Unityで作成したゲームのパフォーマンスを最適化するときのよくある間違いから最適化のための計画、CPUやGPUのボトルネックやスパイクなどのそれぞれの項目のために何を最適化するべきかなどについて解説しています。
  • 最適化を計画する上で最も弱いプラットフォームをベースラインにすること、プロファイリングを簡単に行えるように準備すること、最適化時に見るべき箇所、Profile Analyzerなどを用いてパフォーマンスをドキュメント化することなどの重要性を説明しています。
  • 最適化の際にボトルネックになりやすい典型や、それらに対して有効な手法についていくつの例を紹介しています。

Start Profiting From Texture Compression in Unity

texture compression cover

Start Profiting From Texture Compression in Unity | The Gamedev Guru

  • この記事では、Unityにおけるテクスチャ圧縮の必要性について説明しています。
  • そもそもなぜテクスチャを圧縮する必要があるのか、適切なテクスチャフォーマットを選択する必要があるのかを解説しています。
  • Unityにおけるテクスチャ圧縮のための設定項目とその説明、テクスチャフォーマットなどを選択する際に考慮する観点を説明しています。

Introduction to Unity 2D

Unity KpCho6WvaI 650x372

Introduction to Unity 2D | raywenderlich.com

  • この記事は、1つのゲーム制作を題材にUnity 2Dの設定から利用方法までを解説するチュートリアルです。
  • 2Dプロジェクトの作成からスプライトの作成、2Dカメラの設定の説明、Physics 2Dコンポーネントを利用した衝突判定や2Dアニメーションの実装方法、スプライトとレイヤーの関係について説明しています。

Yuichiro MUKAI
Yuichiro MUKAIGame & Web Programmer

シブヤで働くゲームプログラマー. C#(For Unity)をメインに, 趣味でPHPなどを書きます.

Twitter / Facebook