概要 Addressables.InitializeAsync でリモートカタログがダウンロードされるが ダウンロードに失敗した場合も内部では初期化済みフラグが立ってしまう AddressablesImpl.hasStartedInitialization がそのフラグ フラグが立ってしまうと、再度 Addressables.InitializeAsync を呼び出しても 初期化済みとみなされ何もせず AsyncOperationStatus.Succeeded が返ってきてしまう リモートカタログがダウンロードできない 下記のようなコードを記述することで、外部から初期化済みフラグを折ることができる // Addressables.InitializeAsync に失敗した場合も、 // 内部では初期化済みフラグが立ってしまうため、 // リフレクションを使用して内部の初期化フラグを落とし
UnityのAddressableアセットシステムにおけるコンテンツの更新フローまとめについてまとめました。 はじめに 知っておくべき前提知識 Content Update Restriction New BuildとUpdate Previous Buildの違い Check for Content Update Restrictions コンテンツ更新ワークフローまとめ Remote Content Catalogを有効にする Content Update Restrictionを設定する プレイヤー(アプリ)ビルド時のリソースビルド ダウンロードコンテンツ更新時に組み込みリソースに更新がないかチェックする ダウンロードリソースだけビルドする ランタイムでカタログを更新する ダウンロードリソースを更新する 関連 参考 Unity2020.1.10 Addressables 1.8.5
Unity Addressable Importerを使ってAddressableアセットシステムのアドレス設定を自動化する方法です。 はじめに インストールとセットアップ インストール セットアップ ルールを決める 対象アセットを決める グループを設定する ラベルを設定する アドレスを設定する ルールの適用タイミングについて 参考 Unity2019.3.5 はじめに Addressableアセットシステムを使用すると一意で任意のアドレスによりアセットを管理できます。 これは便利なのですが、各アセットにアドレスを割り振る必要が出てきます。 これは人間のやる作業ではないのでAssetPostprocessorやらで自動化することになりますが、 アドレスを自動で割り振るための便利なOSSであるUnity Addressable Importerを発見したので紹介します。 github.com
uGUIの文字は単色で塗りつぶしたり、Outlineコンポーネントでアウトラインを描画することはできますが(あまり綺麗じゃない)、グラデーションの表示には現在のところ対応していません。 そこで、uGUIの文字列にグラデーションをかけることができるスクリプトを作ってみたので、作り方を紹介したいと思います。 uGUIの文字をポリゴンとして扱う 「uGUIの文字を動かす」という記事でも書いたように、uGUIの文字は一文字一文字がポリゴンで描画されています。 nn-hokuson.hatenablog.com したがってこのポリゴンの頂点に異なる色を付けることでグラデーションのかかった文字を表示することが出来ます。 文字にグラデーションを掛けるスクリプト プロジェクトビューで右クリックし、「Create」→「C# Script」を選択し、「GradationController.cs」という名前で
UnityでUIを作ると言えば、まずはUnityEngine.UIです。 中身のことを考える必要もなく、ドカドカとImageやTextを置けば 動くので大変有り難いわけですが、不意に猛烈に処理が遅くなることがあります。 本記事では、たまたま見つけた現象と、そこから疑問を持って UnityEngine.UIの処理速度についていろいろ調べてみたことを、 技術部平山が書いてみます。 お急ぎの方のために結論を箇条書きにしておきましょう。 Graphic.color、RectTransform.sizeDelta、Text.textをいじると遅い 動かすだけでは大して遅くないが、動かさないよりは遅い リッチテキストは遅い 気になりましたら以下をどうぞ。 なお、Unityのバージョンは2017.4.8f1です。2018では改善している、 ということも多々ありそうですが、そのへんはご容赦ください。 UI
最終更新日:2021年09月23日 UnityでSteam VR対応ソフトを開発する方法やTipsをまとめています。SteamVR Plugin 2.6以降対応です。 更新履歴 (2021年9月23日)SteamVRのTipsに「コントローラーが使用できない」を追加 (2021年7月28日)「アプリ起動後にVRモードを有効にしたい」を追加、ページタイトルを変更、古い項目を削除 (2021年7月11日)Steamでアプリケーションを配信するときのactions.jsonのパス設定について追記 (2021年6月8日)「簡単にフェードイン・フェードアウトをするには」にOpenVR.Compositor.FadeToColorを追加 (2020年11月21日)「PC の画面に別視点の映像を表示するには」を追加 Unity で SteamVR 対応ソフトを作るには Unity で SteamVR 対
様々なグラフィックス API の間で、グラフィックスレンダリングの動作が異なる場合があります。大抵、Unity エディターはその違いをカバーしてくれますが、エディターでは対応できない状況もあります。これらの状況と、その場合に必要な対処法を説明します。 レンダーテクスチャ座標 垂直のテクスチャ座標の規則は 2 つのプラットフォーム、Direct3D 類似のものと OpenGL 類似のものとでは異なります。 Direct3D 類: 座標の一番上が 0 で、下に行くにつれ数値が増加します。これは Direct3D、Metal、コンソールに当てはまります。 OpenGL 類: 座標の一番下が 0 で、上に行くにつれ数値が増加します。これは OpenGL と OpenGL ES に当てはまります。 この違いは、レンダーテクスチャ にレンダリングするとき以外は、プロジェクトにまったく影響しない傾向があ
2017/12/23 記憶違いの部分があったのでAndroid 2.2の説明を修正。今更。 変更が多くなったので若干記述を整理。 2017/05/06 targetSdkVersionの決定方法が間違っていたので修正。 2017/02/06 Unity 5.3.6での仕様変更について追記。 2016/11/14 Android 4.4でのREAD_EXTERNAL_STORAGE対応、maxSdkVersionについて追記。 Android 6.0でのユーザによる権限の付け外しについて追記。 掲載スクリプトの読み取り可能チェック処理でREAD_EXTERNAL_STORAGEを見ないように修正し、実行結果を更新。 一部、誤植の修正。 Unityで外部ファイルにデータを読み書きするとき、普通Application.persistentDataPathを使うと思うのですが、Androidだけp
概要 今作っているコンテンツで、なにもない空間からオブジェクトが転送されてきたような演出をしたいと思い、そのために色々シェーダを書いたのでそのメモです。 以下の画像を見てもらうとどういう効果かイメージしやすいと思います。 今回はこれを実装するにあたって色々ハマったり勉強になったりした点を書いていきたいと思います。 なお、こちらで解説しているシェーダなどについてはGithubで公開しているので動作を見たい方はそちらをダウンロードして確認ください。 github.com まずは方針決め Deferred Shadingだと、最初にMeshをレンダリングして、その後にBoolean演算を行ってくり抜く、みたいなことができるようです。 (↓こんな感じの。みんな大好き凹みTips) tips.hecomi.com ただ、作っているコンテンツがVRなのでDeferredとは相性が悪く、Forward
はじめに こんばんは、代表の堂前です! 本日はUnityのUI、主にuGUIで使われるシェーダですが、ステンシルバッファがどう扱われているかを取り扱うことにします。 それを理解することで、パフォーマンス向上などが期待できます。 ※検証したのはMacのUnity5.4.1系になります。 ※本稿は推測を含むため、その点は留意下さい。 マスクの有無での動作確認 uGUIでステンシルを使う用途はマスク(Mask)機能だけということです。 (他にあるのかもしれませんが、今回はこれだけに着目します。) Mask機能自体の説明は割愛します。 では、Maskの有無で描画の仕方がどう変わるかFrame Debuggerで確認してみましょう。 今回はDraw Call数、つまりFrame Debuggerでは行数に着目してみます。 (Clear処理は無視します。) 左のシンプルなImageのみの場合は、Dra
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く