Unity リンク集
2020-03-22
(Updated : 2020-04-18)
Unity に関する個人的なリンク集。随時更新
情報源
一次情報 / 公式情報
- 公式サイト
- 動作要件
- Unity 公式ブログ
料金形態
(2020-03 現在)
- Unity Store - Unity プラン(Plus、Pro、無料プラン)の比較
- Unity 5 (2015-03) から、無料版(Personal)と有償版(Plus, Pro)で機能差がほとんど無くなった
- 起動時に Unity ロゴが出るくらい。趣味開発であれば無料の Personal で十分
- ※ ただしかっこいいダークモードは、有償版でないと使用できない
- Plus が月額税込み 4,840 円 … 年間の収益が 20 万ドル以下ならこれで十分
- Pro が月額税込み 18,150 円 … 企業で使うなら大体これ
- もっとサポートが欲しい場合には Enterprise (価格は応相談)もある
- Unity 5 (2015-03) から、無料版(Personal)と有償版(Plus, Pro)で機能差がほとんど無くなった
勉強用リソース
- Unity Learn
- Unity 公式の学習リソース。一部有料のものがあるが、Unity Pro / Plus なら追加の費用なしにアクセスできる
- UnityTechnologiesJapan’s Presentations on SlideShare
- Unity 公式の SlideShare
- Unity Pro Tips – Unity for Pro
- 日本語の技術記事 / 設計や最適化に関する話題が多い
C# 部分のソースコード
- Unity-Technologies/UnityCsReference: Unity C# reference source code
- エディタ部とエンジン部の C# レイヤーのソースコードは参照用として公開されている
- あくまで参照用 / また、C++ レイヤーは未公開
- (一応 Pro 以上のライセンスなら、追加の費用を払えば C++ ソースコードにもアクセスできるらしい)
企業ブログ
- Unity やってるゲーム会社の技術ブログ
世の個人ブログ
- テラシュールブログ
- 日本人で Unity をやっている人ならほぼ全ての人が目にしたことがあるであろうブログ
- 書いている人は Unity の中の人の様子
- アクセス多そうなのに広告貼ってなくて徳が高そう
- コガネブログ
- 記事数が多く、ちょっとしたことを調べる際によく検索に引っかかって答えをくれるイメージ
- (:3[kanのメモ帳]
- 個人クリエイター kan さんのブログ
- Unity に関する良質な記事が定期更新されている
- LIGHT11
- レンダリングまわりでググると出てくることが多い
- neue cc
- Cysharp 社の社長の人のブログ
- UniRx を作った人
Unity の歴史 / 変遷
- 進化は早く、時を重ねるごとに使いやすく高品質になっているので新しいバージョンを使っていくことの恩恵は大きい
- 細かいところでは意外と 「あ、それって最近までできなかったんだ」 系のものもあるので (プレハブの編集画面とか、コンソールのフィルタとか…) 基本的には最新の LTS 版 か、beta がとれた最新バージョンを使っていきたい
個人的に印象に残っているもの基準で時系列まとめ:
バージョン | 時期 | 項目 |
---|---|---|
Unity 4 | 2012-06 | AssetBundle は Unity 4 時代にはあった Mecanim |
Unity 5 | 2015-03 | 無料版の機能差がほぼなくなる iOS 向け IL2CPP |
Unity 5.3 | 2015-12 | マルチシーンエディティング |
2016-07 | Android 向け IL2CPP | |
Unity 2017.1 | 2017-07 | .NET 4 系対応 Playable API / Timeline Sprite Atlas TextMesh Pro が無料化 |
Unity 2017.3 | Assembly Definition Files | |
Unity 2018.1 | 2018-05 | Package Manager ProBuilder 無料化 .NET 4 系が stable に Scriptable Render Pipeline (Preview) Shader Graph (Preview) Post Processing Stack v2 C# Job System ECS / Burst Compiler (Preview) |
2018-09 | Unity Hub がリリース | |
Unity 2018.3 | 2018-12 | Nested Prefab .NET 4 系がデフォルトに |
Unity 2019.1 | 2019-04 | Console でフィルタができるようになる ショートカットをカスタマイズ可能に |
Unity 2019.3 | 2020-01 | Addressable Asset System が検証済みに Device Simulator |
- Unity - Manual: Sprite Atlas
- 2017 から公式のスプライトアトラス機能が使える
- (以前は Unity 5 の時に無料化された Sprite Packer などが使われていた)
- (2018-12) unityでのatlas texture2018最新状況 - Qiita
- Prefab Workflow - Unity
- 2018.3 から利用可能になった Prefab の新しいワークフロー
- (2019-05) Unity Nested Prefabを使ってみる - Qiita
- Addressable アセットシステム - Unity Technologies Blog
- AssetBundle の後継(内部的には AssetBundle)
世のスライド
- まとめ系
- (2017-08) 【Unity】【C#】おすすめスライド100選 - コガネブログ
- (2017-03) スマホ開発でも活きたこと、まだ活かせていないこと 170325 1043
- コンシューマ出身の人が Unity 界に来た時の所感
- (2017-05) 【Unite 2017 Tokyo フォローアップ】『Shadowverse開発事例』 ~美麗カードが動く!制作テクニックのすべて~ | Cygames Engineers’ Blog
- カードの絵表現のシェーダの話
- (2017-06) 【Unite 2017 Tokyo】Unityで出来る『見える開発』のススメ 〜スマホゲーム「ららマジ」開発事例〜
- ららマジ / AI や画面遷移の可視化
- (2017-06) 【Unite 2017 Tokyo】スマートフォンでどこまでできる?3Dゲームをぐりぐり動かすテクニック講座
- 波とか反射とか、リッチな描画の最適化手法
- (2018-03) 【Unite Tokyo 2018】なんとっ!ユナイト!ミリシタをささえる『AKANE大作戦』とは?
- ミリシタの 13 人ライブは地道な最適化の積み重ねで実現したものらしい
ゲーム会社での事例
- (2014-04) 「ドラゴンクエストVIII」は,いかにしてスマートフォン向けに移植されたのか? 最適化からUI設計のポイントまでを開発チームが語る - 4Gamer.net
- ドラクエ 8 はもともと C++ 実装だったが、C# へのコンバータを書いたりして Unity に移植したらしい
- (2015-04) [Unite 2015]モバイルでナンバリングに負けないHDクオリティの実現を目指す「MOBIUS FINAL FANTASY」はUnity 5をどう使っているのか - 4Gamer.net
- 専用ツールを作ったりして頑張ってる
- (2015-04) (PDF) 白猫プロジェクトの裏側! 〜パフォーマンス・チューニングとリアルタイム通信のすべて〜
- (2016-04) 演出が光る「Fate/Grand Order」のバトルシーンの秘訣とは - GAME Watch
- (2017-09) 【CEDEC2017】ディライトワークス荻野氏と島野氏による『FGOVR』制作秘話 「カワイイ揺れ」の真実とは? | Social VR Info – VR総合情報サイト
- (2018-03) Anima2Dでキャラクターアニメーションを作ろう!編 - SEGA TECH Blog
- セガのコトダマンは 2D アニメーションに Anima2D を使っているらしい
- Siwtch のボンバーマンは Unity 製
- (2018-05) 【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
- コンシューマでシューティング作ってた人が Unity で仕事したらこうなった、という感じの内容
- 弾幕シューティングだが、イテレーションや衝突判定を自前で書くなどして負荷軽減
- 同じゲームの Unity Blog 記事:
- (2017-10) 伝統的なゲームデザインをUnityで表現する | Made with Unity
便利アセット / ツール集
- (2016-12) Unity開発で便利だったアセット・サービス紹介 & Unityでのプログラミングテクニック
- (2017-12) UnityでおすすめのAsset集(2017/12更新) - Qiita
- (2019-11) 【Unity】GitHubリポジトリの紹介 - Qiita
- 雑多だけどグラフィック系・ツール系が色々と列挙されていて、一見の価値あり
- シェーダ
- TextMesh Pro (2017 で無料化)
- フレームワーク系
便利 Editor 拡張
世の Web 記事 / Tips
最初に決めておきたい系
- (2016-12) Unityでの開発が本格的に始まる前にやっておきたいこと - Qiita
- アカツキの人の記事 / ディレクトリ構造や CI 環境など
- (2019-12) 開発初期に暇を持て余しているUnityエンジニアができる42のTips前編 - 渋谷ほととぎす通信
基礎知識系
基本操作系
- シーンビューのナビゲーション - Unity マニュアル
- とりあえず公式の Scene View 操作方法は読んでおこう
- (2015-04) Unity初心者が知っておくと少しだけ幸せになれる、シーンにオブジェクトを配置する時に使える18のTips+10 - テラシュールブログ
- カメラの操作方法やショートカットなど。最初に知っておきたい系
チーム開発 / 開発効率 / プラクティス系
- ベスト プラクティス ガイド - Unity マニュアル
- Unity 公式マニュアルの Best Practice ページ
- キャッシュサーバー - Unity マニュアル
- いつしかビルドしたアセットのキャッシュが手軽にローカルで行えるようになっていた
- Preferences の Cache Server で Local を選択
- Switch Platform をよく行う人は最初に有効化しておこう
- (2016-08) Gamasutra: Herman Tulleken’s Blog - 50 Tips and Best Practices for Unity (2016 Edition)
- 2012 年くらいに書かれたものがあったが、それの 2016 年版
- (2016-12) GitでUnityプロジェクトを管理する - KAYAC engineers’ blog
- (2018-01) 【Unity】Assembly Definition Filesという神機能 - テラシュールブログ
- 2017.3 以降、アセンブリ分割してコンパイル時間減らせる
- (2020-03) How to customize Unity script templates – Unity
ScriptTemplates/
というフォルダに配置すると Script のテンプレートを自前で用意できるカテゴリ名__
という命名でカテゴリをまとめることもできるらしい:- (2018-12) ScriptTemplatesのファイル名について - Qiita
設計系
- (2017-02) Web出身のUnityエンジニアによる大規模ゲームの基盤設計
- まあまあの大作記事 / Web の人って感じの設計
- MVP の導入とシーン遷移の管理について
- (2017-05) Unity シーン遷移の機構を作った話 - Qiita
- (2017-11) Unity開発で使える設計の話+Zenjectの紹介
- Zenject, 多少オーバヘッドはあるけど:
- (2017-04) Zenjectの動作速度を検証した
- Zenject, 多少オーバヘッドはあるけど:
- (2017-12) Unity meets Clean Architecture // Speaker Deck
- Unity で Clean Architecture をやる話
- (2018-09) Unityを取り巻くアーキテクチャ 第1部 「MVxとLayered Circle」 - yotiky Tech Blog
- Unity でここまでやらんでいい気もするが、各種アーキテクチャについてよく整理されている
- (2018-12) Avoiding Singletons in Unity
- シングルトンの使用を避けるパターンとして、DI の前に Service Locator を説明してるやつ
実装系 / C#
- [SerializeField] などの Attribute まとめ
- (2016-12) UnityでC#を使うときのヒント集 | KAYAC
ログ出力
Debug.Log
を直接使わず、Conditional 属性で消せるようにしておくのがおすすめ
- (2013-12) 【Unity】リリース時にログを出力しない - コガネブログ
- (2016-01) 【Unity】 UnityEditorの時のみDebug.Logを出す方法 - Qiita
- (2019-03) 【Unity】リリース時にDebug.Logを出力しないようにする – のらくるノート
パフォーマンスチューニング / 負荷軽減
- (2015-12) Update()を10000回呼ぶ – Unity Blog
- (現状は IL2CPP もあるし、当時ほどオーバヘッドは無いように感じる)
- (2017-05) 【Unite 2017 Tokyo】最適化をする前に覚えておきたい技術
- (2019-03) Unity のパフォーマンスに関する推奨事項 - Mixed Reality | Microsoft Docs
描画負荷
- (2017-06) Unityでドローコール(Set pass call)を減らす方法まとめ - おもちゃラボ
- (2018-06) 【Unity】Draw CallやSetPass Callって結局なんなのか? - LIGHT11
- Optimizing Unity UI - Unity Learn
- uGUI の最適化をするなら必読
- 日本語でまとめ直してくれてるやつ:
- (2019-01) Unityでパフォーマンスの良いUIを作る為のTips
テスト / CI / デイリービルド
- (2016-12) 【Unity】カヤックのゲームを支えるビルドシステムについて - KAYAC engineers’ blog
- Headless で動かす
Unity のユニットテスト
- 公式マニュアル About Unity Test Framework | Test Framework | 1.1.0
- (2016-02) Unity で ユニットテストをする
- (2017-03) 【Unite 2017 Tokyo】バグを殲滅!Unityにおける実践テスト手法
- (2018-07) Unity使いは全員Unity Test Runnerを使え!爆速のトライ&エラー環境だぞ! - Qiita
- (2018-07) Unityでちゃんとテストを書きたい人のためのまとめ - Qiita
- (2019-09) Unityでテストを書くのが当然になる時代に今から備えよう - Qiita
- (2019-11) 【Unity】TestRunnerで使えるNUnit.Frameworknoアトリビュートの使い方メモ - Qiita
データの扱い系
- (2013-10) Excelでデータを管理してUnity iOS/Androidで使うワークフローをノーコーディングで使えるようにした - テラシュールブログ
- (2015-02) 徒然なるままに: Excel→assetでのデータ管理にて
- (2017-10) Excelでマスターデータを作り、JsonでScriptableObjectに読み込ませる備忘録 - ビールが飲みたい。
- (2017-10) 【Unity】Scriptable object 入門と活用例
- Unity 公式スライド / Excel から作る話も載ってる
- (2018-10) Unity Excel Importerを作ってみた - Qiita
- (2019-02) 【Unity】CSVからScriptableObjectにデータを流し込むEditor拡張サンプル │ エクスプラボ
アセット関連
- アセットの監査 - Unity マニュアル
- AssetPostprocessor でうっかりミスが無いかチェックできる
- (2018-04) 【Unity】【エディタ拡張】アセットインポート時の処理を自動化するAssetPostprocessor入門 - LIGHT11
- (2019-04) テクスチャーのMaxSizeを一括で自動設定する [Unity]
- AssetPostprocessor じゃなくて後処理でやる例
テクスチャの圧縮形式
- Unityで設定できるテクスチャの圧縮フォーマットについて - Unity Connect
- プラットフォーム別オーバーライドのためのテクスチャ圧縮形式 - Unity マニュアル
ASTC 6x6
→ 256 x 256 テクスチャで 28.89 KBRGBA ETC2
→ 256 x 256 テクスチャで 32 KB
- (2018-01) Unity uGUI UIテクスチャフォーマット選択フローチャート
- (2018-10) 【Unity】テクスチャ圧縮フォーマットの決め方(2018年版) - LIGHT11
- (2019-07) VRChat Questのテクスチャ形式はASTCにしよう - おめが?日記_(2)
AssetBundle
- かつて人々は AssetBundle の扱いにおいて思い思いの苦労をしてきた
- 2020-03 現在では、すでに検証済みパッケージとなった Addressable Assets System を使うことでその苦労から解放される (のかもしれない…)
- 公式ドキュメント
- Assets, Resources and AssetBundles - Unity Learn
- (2016-07) 【Unity道場 2016】アセット運用ベストプラクティス
- Unity の中の人のスライド。アセットのライフサイクルとか内部的なこと
- (2016-11) AssetBundle設計コトハジメ – てっくぼっと!
- 設計観点やどんな選択肢があるかなど、よくまとまってる
- (2016-12) 【Unity】AssetBundleの概要 - KAYAC engineers’ blog
- (2017-07) AssetBundleGraphTool を触ってみました | Aiming 開発者ブログ
- 開発中と運用時で読み先を分ける話がある
- (2017-10) 複雑化するAssetBundleの配信からロードまでを基盤化した話【CEDEC 2017】 | CyberAgent
- (2018-03) AssetBundleの問題点 / Problems of AssetBundle // Speaker Deck
- (2018-08) AssetBundleまったく分からない人向けのAssetBundleのメンタルモデル - Qiita
- (2019-02) Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
- パッケージ管理とか AssetBundle のビルド時間を速くする機構の話
- (2019-03) 今更誰も教えてくれない、Unityにおけるアセット読み込みについての基礎知識 - Qiita
Addressable Assets System
- (2018-05) Addressable Assets Systemを完全に理解する
- 内部構造がよくまとめられている
- (2019-09) 【Unite Tokyo 2019】【リリースが先か】えっ!Addressablesを新規プロジェクトに?【ver1が先か】
- わりと AAS のバグに立ち向かっている感じ
- (2019-09) ResourcesのシンプルさとAssetBundleの自由度を実現したAddressable Assetsとは(脱Preview記念リライト)【Unity】【Addressable Assets】 - (:3[kanのメモ帳]
- (2019-10) Addressable Assetsで事前ロードしたい :: Kuro Tech Blog — 調べたもの置き場
- (2019-10) 【Unity】ゼロからわかるAddressableアセットシステムの使い方【2019】
- (2019-10) Unity Addressable Asset Systemの使用方法と自動化の機能調査 - Qiita
- スクリプトから操作する例
- (2019-12) [Unity] Resources.Loadの代わりにAddressable Asset Systemを使ってみる - Qiita
エディタ拡張
- (2013-12) 【Unity】MenuItem でショートカットキーを登録 - コガネブログ
- メニューアイテムにつけるショートカットキーは特殊な記号で定義する
- command は
%
/ shift は#
/ options は&
[MenuItem("Tools/Hoge &s")]
と書けば options + s で実行できる、といった具合
- (2018-07) 【Unity】【エディタ拡張】エディタ拡張チートシート - LIGHT11
カメラ
- (2014-02) ウダサンコウボウ: [Unity]アップ時に可愛く撮る(カメラの視野角)
- Unity じゃないけどレンズ一般の話:
- (2016-08) レンズの焦点距離と画角の関係 - ログカメラ
- デジタル一眼レフカメラの基礎知識 - レンズ | Enjoyニコン | ニコンイメージング
- 広角 = 焦点距離が短い = 画角が広い / 近くても広く写せる / 遠近感が強調される
- 望遠 = 焦点距離が長い = 画角が狭い / 遠くのものが大きく写せる(同じ位置から撮っても遠くの狭い範囲が写される)
- (2016-02) 【Unity】3Dゲームに使うカメラワークの用語と、その設定について - テラシュールブログ
- フィックス / ドリー / パン / ティルト / ロール
- (2018-04) 【Unity】Cinemachineでカメラに映る被写体のサイズをコントロールする - テラシュールブログ
レンダリング / シェーディング / エフェクト
- 空の缶詰│|Unity
- Unity のシェーダを扱った記事の多いブログ / シェルノイズとか
- (2015-03) Unity Shader まとめ - ゆにてく備忘録
- (2016-08) [Unity]シェーダーについて勉強したい時に、まず見るべきサイトをまとめてみた | notargs.com
- (2017-04) 第2回.初級)反転ポリゴン押し出し法で輪郭線を出す - UnityShader 入門
- 古典的なアウトライン
- (2017-09) 【Unity道場スペシャル 2017大阪】トゥーンシェーダー・マニアクス2 〜ユニティちゃんトゥーンシェーダー2.0徹底解説〜
- (2018-02) 7日間でマスターするUnityシェーダ入門 - おもちゃラボ
- (2018-06) 【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意
- 結構凝ったことをしている / アニメ調だが綺麗系のレンダリング
- (2019-02) 【Unity道場 2月】シェーダを書けるプログラマになろう
- (2019-12) 【Unity】ParticleSystemで利用するShaderを作る - Qiita
シェーダ実装例
- ライブラリ
- (2015-12) Unity | 実用的な雪の描画 - Qiita
- (2016-10) Unity | 4色のカラーパレットだけで画面を描画するポストエフェクトを作った | notargs.com
- (2019-05) GLES2な低価格スマホでもブルームエフェクトしたい - KAYAC engineers’ blog
- 軽いブルームのポストエフェクト
- (2019-07) [Unity] Y軸ビルボードシェーダーの実装と解説 | gam0022.net
- (2019-09) 「Fake room shader. :) Only need one texture. I wanted to reproduce one of my old glsl in Blender with nodes. I still prefer coding, but nice to see that it is possible. #b3d
- PS4 のスパイダーマンであった窓の表現 / シェーダグラフでやってる
- ディゾルブシェーダ
- (2018-08) Dissolve Shader Tutorial - HLSL and Unity’s Shader Graph - Febucci
- (2017-04) 【Unityシェーダ入門】Dissolve(溶けるような)シェーダをつくる - おもちゃラボ
- (2017-07) パーティクルにディゾルブのシェーダを使う | 生存日記
- (2020-01) Dissolving Logo With Particles : Unity Tutorial - YouTube
- (動画) 単純なパーティクルとディゾルブシェーダで、ロゴが粒子になって散っていくようなエフェクトを作るチュートリ
- All Tutorials – Linden Reid
- Unity でやるシェーダのチュートリアル / 水とか揺れる草とかディゾルブとか
Post Processing
- (2017-09) 【Unity道場スペシャル 2017大阪】Post processing stackでワンランク上のビジュアル表現+時間をかけず…
- (2018-03) 【Unity】PostProcessingStack v2を使ってBloom(光のにじみ)を表現する - テラシュールブログ
- (2018-08) Unity ルックデヴ講座 Post Processing Stack v2編 | ギャップロ
- (2018-11) UnityのPostProcessing機能のV2について | Unityを使った3Dゲームの作り方(かめくめ)
Unity UI (uGUI)
公式では uGUI という呼び方はしていないようだが、Unity 4 時代にあった NGUI と区別するのにみんなが uGUI と呼んでた印象
- 公式マニュアル UI - Unity マニュアル
- uGUIチュートリアル – Metal Brage
- (2016-01) uGUI (UnityのUI機能) の使い方まとめ - mikan_daisuki’s blog
- よいリンク集
- (2017-07) 【Unity】uGUIをキャラクターの上に表示する手っ取り早い方法【RenderMode別】 | TECH Projin
アニメーション
- (2018-10) よくわかるUnityアニメーション系機能 エヴァンジェリストが教える正しい使い方 - ログミーTech
- (2017-11) 【Unity】さよならステートマシン。旧AnimationっぽいAPIでアニメーションを再生する SimpleAnimation - テラシュールブログ
- (2017-12) 【Unity】SimpleAnimationについて - Qiita
- (2017-11) Introducing the Simple Animation Component – Unity Blog
Timeline / Chinemachine
- (2018-07) unityでカメラワーク – Sirohood
- (2017-06) 【Unity】Timeline × Cinemachine でカットシーンのカメラワークを作る - テラシュールブログ
- (2017-09) 【Unity】今日から使えるTimeline
- (2018-08) 【Unity】Cinemachineで作るカメラワーク(対象を中心に回り込む を表現する3つのアプローチ) - テラシュールブログ