時代に翻弄されるエンジニアのブログ

ゲームプログラマをやっています。仕事やゲームや趣味に関してつらつら書きたいと思います。

Unity

Zenject を使ってみて、良かったこと、注意したほうが良いこと

こんにちは、たくという名前でブログをやっています最近仕事でも、プライベートでも Zenject を使うことが多いので、ゲームで使う場合の使用感を書いてみたいと思います。ちなみに、以下Zenject のURL です。assetstore.unity.com要点をまとめると以下のよう…

Etiror 拡張 OnInspectorGUI で横幅を取得する方法

取得メソッド EditorGUIUtility の currentViewWidth の返却値に幅が格納されています。docs.unity3d.com サンプルコード 例えば変数に値を入れ込むケースを考えてみたいと思います。変数の名前は固定長で表示をし、設定する値の編集箇所は可変長にしたい場…

TimelineAsset を Instantiate するときに気をつけること

こんにちは、たくという名前でブログやっております。Unityには、Timelineという時系列に沿った処理をかんたんに記載できる機能があります。ゲームでは演出などの一連の流れを作るために使ったりします。今日はこのTimelineを使っていてある問題を解決したの…

Unity Scroll View のスクロール位置の取得

こんにちは、タクという名前でブログをやっています。今日はスクロールビューの位置を保存する方法を解説します。 どこで使うの? 例えば、ここによくあるステージ選択画面があります。各ステージのボタンをおしてステージに遷移ことを想像してください。ス…

Unityで シーン全体の物理的挙動を停止する方法

こんにちは、タクという名前でブログをやっています。今日はシーン全体での物理演算を停止する方法を説明します。つまり、ゲーム中の物理的挙動を一旦停止するということです。ポーズ画面なんかで使えると思います。 Physics の autoSimulation を false に…

「Error: The reference assemblies for .NETFramework,Version=v4.7.1 were not found. 」 の対処法について

こんにちは、タクという名前でブログをやっています。今日は、.Net framework を間違ってアップデートしてしまって、Unity の C# コードを OmniSharp を使って解析できなかったときの対処法を書いていきたいと思います。 エラー内容 エラー文は 「Error: The…

2D UI がタップされたかを知りたい

こんにちは、いつも検索することをブログにしようプロジェクト今日は、Unity の 2D UI をタップしているかを知る方法について記事化します。 どんなときに使うの? ゲームにおいて、タップとは以下の2つの意味合いがあります。 3D 空間のオブジェクトをタッ…

Vertical Layout Group で上のオブジェクトのみ高さを固定したい

こんにちは、今日は Unity で Vertical Layout Group を使っていて一番上の要素のみ固定したいという長年の悩みが解決したので報告します。 どういうこと? 以下の画像のように、ある画面において、上の要素は高さを固定して、下の要素は柔軟にサイズが変更…

Unityで画面をタップした位置のオブジェクトの情報が知りたい

こんにちは、今日はゲームを作っています。シムシティのようなシミュレーションゲームなどでマウスを使って建物を設置したい時はありませんか? 今回はUnity でどのように行うかを解説します。 やりたいこと 画面をタップして初めてオブジェクトとあたった地…

Unity Update 時に VS Community で「system.object not defined」 が出たときの対処方法

こんにちは、今日はUnityのアップデート時に遭遇した不具合について報告します。 どちらかというと、余談が本編です。 起きたこと 以前まで、Unity 2018.2 を使っていたのですが、今回LTS版を使おうと思い、Unity 2018.4.11f1 をダウンロードしました。ダウ…

iOS Unity OnDemandResources ことはじめ

オンデマンドリソーシーズ(OnDemandResources:ODR)をしっていますか?僕は今日知りました。簡単に言うと、Appleにビルドを提出する段階で画像などのアセットをサーバーに登録しておき、アプリ内からリアルタイムに取得するという仕組みです。今日はそんな On…

Unity ゲーム設計のはじめかた

こんにちは、皆さんUnity 使っていますか?Unity を使っていると便利にゲームが作れる反面、大規模なゲームを作っていると工夫しないといけないことが多々あると思います。例えば、いつまでも、Scene上に配置しているだけでは量産は難しいですよね?今日はUn…

Unity のアップデートするときの注意点3つ

直近Unity のバージョンを変更する機会があったので、移行時の注意点をまとめておく基本的にUnity は複数人で開発している影響でバージョンアップによって、想定外のバグがしょっちゅう起こるようだ。アプリの運用を行っている方は早めの移行が必要になる。 …

キャッシュという悪魔

キャッシュという悪魔に出会いました。 今日はそんなお話です。 短く結論 AssetBundeBuild で同じファイルをビルドしても違うハッシュの.manifest が生成された プラットフォーム切り替えによって、キャッシュが消えたところで、もう一度行ったら治った ショ…

ゲームを1つリリースしました。

ゲームを1つリリースしました。play.google.comこのゲームは世界の虚しさと優しさを伝えてくれます。 そんな事は全然考えていないのですが、今回ゲーム制作でシリーズ物の第一弾を作らせていただきました。人類が残した自動資源、それらに頼っている謎の生…

UIの上に3Dオブジェクトを設置する方法

こんにちは、Unity の話題は久しぶりですね。 今日やりたかったこと uGUI で作成された UI の上に 3D オブジェクトを表示する。 方針 ・Canvas の Render Mode を Screen Space - Camera にする これによって、カメラに対して深度値によってオブジェクトが見…

Unrecognized assets cannot be included in AssetBundles を乗り越えた

こんにちは、久々の投稿になります。いつの時代もエンジニアは思いもしないバグに悩まされるものです。今日紹介するエラーも「まさか」という結果となっています。なぜそんなことになったのか。それを追求するのは難しいが、それもエンジニアの性なのかもし…

Canvas に関して簡単なまとめ

こんにちは、久しぶりの投稿になります。最近仕事でUnityのUIをいじることがあり、Canvasの設定が全然わかりませんでした。今日はCanvasについて簡単にまとめてみたいと思います。 そもそもCanvasってなに? Canvasってなにをやっているの? 解像度が変わっ…