「Unity」の名称、Unity のロゴ、およびその他の Unity の商標は、米国およびその他の国における Unity Technologies またはその関係会社の商標または登録商標です(詳しくはこちら)。その他の名称またはブランドは該当する所有者の商標です。

今回はC#のビルド時間を短くする方法についてです。f C#のコンパイル Assembly Definition Filesを使用する Pluginsフォルダにあるコードは、事前コンパイルされるのを活用 事前にDLLにコンパイルしたコードを使用する コンポーネントをDLL化すると、参照が外れる DLLの作り方 mdbファイルがあればデバッグも可能 pdbとmdb コンパイル後のdllからビルド前のコードにはアクセス出来ない 関連 C#のコンパイル Unityでゲームを開発する上で、コンパイル時間は必ず発生します。例えばソースコードを少し変えてからUnityエディタに戻ると、右下に処理マークが出てきます。 これ、規模が小さいならばそれほど気にならないのですが、costを使用していたり規模が大きくなり複雑になってくると、非常に長い時間を要求してきます。 これでは何度もコードを修正しながら開発出来
レイヤーベースの衝突検出を導入しています。これにより、ゲームオブジェクトを特定のレイヤーに連結された別のゲームオブジェクトに衝突させることができます。 同じレイヤーのオブジェクト同士の衝突 上の画像には、Scene ビューに 6つのゲームオブジェクト (3 つの平面と 3 の立方体) と、その右側のウィンドウにどのオブジェクトがどのレイヤーと衝突するかを設定する Layer Collision Matrix が表示されています。 例では、同じレイヤーに属する ゲームオブジェクト のみが衝突できるよう、Collision Matrix が設定されています。 Layer 1 は、Layer 1 にだけチェックしています Layer 2 は、Layer 2 にだけチェックしています Layer 3 は、Layer 3 にだけチェックしています 必要に応じて設定を変更します。例えば、Layer 1
Nanashi-soft○プログラマ専用○Unityでゲーム開発○ ◇Unityでゲーム開発 -左右スティックを使う方法- 前から不思議に思っていた事の解決方法がわかりました Unityのデフォルト設定だと,右スティックが使えません いや,使えるのですが,設定する場所が無いのです その方法が分かったので,デフォルトはなるべくそのままで右スティックを使えるようにする方法をまとめます ○機器入力の概要 何をどうしたいのか? というところから説明を始めます なぜなら,私は個別には知っていたのですが,それを関連付けて考えるに至るまで時間がかかったからです パソコン用にビルドして起動すると,環境設定ダイアログボックスが表示されます Inputタブをクリックすると,キーコンフィグができます Horizontalが左右,Verticalが上下のスティック動作を意味します 例えば,右スティック動作に設定を
この記事でのバージョン Unity 5.5.0p1 はじめに MonoBehaviourには無効になったときに呼ばれるOnDisableと、 破棄される時に呼ばれるOnDestroyという関数があります。 なお、GameObjectを削除すると両方呼ばれます。 イメージとしては以下のような感じ。 using UnityEngine; public class NewBehaviourScript : MonoBehaviour { private void OnDisable () { Debug.Log("OnDisable"); } private void OnDestroy(){ Debug.Log("OnDestroy"); } } ただし、これらの関数はエディタを止めた時にも実行されてしまいます。 今回はエディタを止めた時にこれらを実行しない方法のご紹介です! OnApplic
処置前: 処置後: 「先輩、Unityアプリが重いんですけど」 「1フレームでUpdate()は何回呼んでる?」 「100回です」 「あー、それはマネージャをつくって管理した方がいいな。やり方を教えよう」 「ありがとうございます!」 UnityのUpdate()のコールは数が多いとアプリの実行の負担になります。そこで、Update()をUpdateManagerで管理してみましょう。プロファイラーを見ると違いがハッキリわかります。 こんな感じで書きます: using System.Collections; using System.Collections.Generic; using UnityEngine; public class UpdateManager : MonoBehaviour { public List<ManagedUpdateBehavior> list = new
まずは普通に Base クラスから派生する Derived1, Derived2, Derived3 と、派生しない Class4, Class5 を以下のようにヒエラルキーに置いてみます。 Start関数内で自分のクラス名を表示する処理を書いて実行すると、以下のように表示されます。 実行順を指定しない場合はコール順が不定になります。 これはUnityのマニュアルにも記載のある通り、規定の動作です。 Orderを指定する Script Execution Orderで、 Derived1>Derived2>Derived3>Class4>Class5 の順に実行するように設定します。 実行すると、意図通りの表示となりました。 次は、 Class4>Derived1>Derived2>Derived3>Class5 の順に実行するように設定します。 実行すると、意図通りの表示となりました。
原則として、作成したフォルダーには自由に名前を付けてプロジェクトを管理することができます。ただし一部、特別な目的のため Unity によって予約されているフォルダー名が存在します。例えば、エディタースクリプトが正しく機能するためには Editor フォルダーに置く必要があります。 このページには Unity で使われる特殊なフォルダー名の完全なリストを掲載しています。 アセット Assets フォルダーは Unity プロジェクトで使用するアセットが含まれている主なフォルダーです。Project ウィンドウのコンテンツは、Assets フォルダーのコンテンツに直接呼応します。ほとんどの API 関数はすべてが Assets フォルダーにあることを前提とし、そのことを明示的に言及することを要求しません。しかし、関数のなかには Assets フォルダーがパスネームの一部として含まれることを必要
プレイヤーをビルドするとき、ビルドされたプレイヤーをなんらか修正したい場合があります。例えばカスタムアイコンの追加、プレイヤーの隣にドキュメントをコピーしたり、またはインストーラーを構築する、などあるかもしれません。これらはエディタースクリプトの BuildPipeline.BuildPlayer を使用し、ビルドを走らせ、ビルド後に必要な処理をコードで記述することができます。 // C# の例 using UnityEditor; using System.Diagnostics; public class ScriptBatch { [MenuItem("MyTools/Windows Build With Postprocess")] public static void BuildGame () { // ファイル名を取得 string path = EditorUtility.S
はじめに この記事では Unity のエディタ拡張で使用できる コールバック用のデリゲートやインターフェイス、属性を 公式ドキュメントに記載されていないモノも含めて40個紹介していきます 目次 ※公式ドキュメントに記載されていないモノには★が付いています はじめに 目次 デリゲート ★Unity プロジェクトを読み込んだ時 ★Unity エディタを終了した時 ★アセットのラベルが変更された時 ★アセットのアセットバンドル名が変更された時 ★Unity エディタ上で何か操作された時 ★Unity エディタの各ウィンドウの位置が変更された時 Project ビューの表示をカスタマイズする時 Hierarchy の表示をカスタマイズする時 1秒間に200回呼び出される エディタの更新が完了した時 シーン内のオブジェクトが変更された時 Project ビューで何か変更された時 Scen ビューや
Unityでは複数のシーンを同時に編集することは可能ですが、シーン間の参照は出来ません。今回はソレをGUIDベースでなんとかするアプローチについてです。 シーン間参照(Multi Scene Reference)が出来ない シーン間参照がやりたくなるケース GUID BASED REFERENCE 使い方 関連 シーン間参照(Multi Scene Reference)が出来ない 基本的にUnityのSceneというシステムは、別のシーンへのアクセスは出来ません。そのため、スクリプトを利用して参照先を取得します。例えば 現在読込中のシーン全体にFindを実行 Staticなフィールドに格納 特定のオブジェクトに登録し、マッチング ユニークなアセットに格納 といった感じです。実際、様々なフレームワークは存在しますが、大抵の場合は上のどれかに行き着くという認識です。 シーン間参照がやりたくなる
この記事は、アプリ起動時に指定のメソッドを呼ぶ「RuntimeInitializeOnLoadMethod」に可能性を感じたが錯覚だった気が で絶望した戦士たちが、よく見たらそんなこと無かったと気づくストーリーである。 要するに書き直し。 RuntimeInitializeOnLoadMethod Awakeの前にRuntimeInitializeOnLoadMethodを呼び出す 例:ゲームに必要な処理を生成する 呼ばれなくても呼ばれるRuntimeInitializeOnLoadMethod 呼出順の設定は出来ない 便利な機能だが使う際には注意を 関連 RuntimeInitializeOnLoadMethod RuntimeInitializeOnLoadMethodはAttribute(属性)である。彼は、ゲーム開始時に設定したメソッドを呼び出す為に存在するのだ。 例えば下のように
概要 UnityエディタでPlayer Settingsを開いてから 「Scripting Define Symbols」に定義したいシンボル名を入力することで #ifディレクティブの条件として使用できるようになりますが 毎回Player Settingsを開いて文字列を入力するのが手間なので 簡単にシンボルを設定できるようにするエディタ拡張を作成しました 上記の「SymbolWindow.cs」と「symbols.xml」を UnityプロジェクトのEditorフォルダに追加して Unityエディタの「Tools>Symbols」を選択すると下記のようなウィンドウが表示されます あとは、定義したいシンボルにチェックを入れて「Save」を選択するだけで Scripting Define Symbolsを設定できます 「Copy」を選択するとシンボル名をクリップボードにコピーできます sym
やりたいこと 手順 1. 新しいリポジトリを作成 2. 現在のremote url を確認 3. remote url を変更 4. 新しいリポジトリにpush 参考 やりたいこと リモートリポジトリを変更した際に、そのままでは push や pull ができないので remote url を変更したい。 ※ ホスティングサービスはGitHub ※ ssh接続の設定は完了しており、ローカルリポジトリとリモートリポジトリの同期がとれている状態とする 手順 1. 新しいリポジトリを作成 GitHub上で「New repository」をクリックして作成する 2. 現在のremote url を確認 git remote -v 3. remote url を変更 新しいリポジトリのURLに変更する。 git remote set-url origin {new-url} 正しく変更できているか確
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く