概要 Unity 2023.1 から、アセットバンドルをマルチプロセスでビルドできる 「Multi-Process AssetBundle Building」という機能が追加された Project Settings の「Editor > Multi-Process AssetBundle Building」をオンにすることで BuildPipeline.BuildAssetBundles によるアセットバンドルのビルドが マルチプロセスで行われるようになる(Addressables には適用されないので注意) Multi-Process AssetBundle Building リビルドにかかった時間 オン 35.9 秒 オフ 62.7 秒 手元の Unity プロジェクトでアセットバンドルのリビルドを試してみたところ、 ビルドにかかる時間が半分くらいになった EditorBuildSet
Addressable Asset System (以下、Addressables) をベースに開発した新しいアセット基盤について発表します。 これまで使用していた独自基盤からどういった経緯で新しい基盤を開発するに至ったのか、Addressablesをベースにするにあたって心がけたこと、追加した機能やバックエンド、更に利便性を向上させるサポートライブラリについて具体的に解説します。 https://cagc.cyberagent.co.jp/2024/session/index.html?id=Qy7sJgTV Copyright © CyberAgent, Inc.
はじめに Unity の Addressables と ScriptableObject を用いて、ゲーム内に定義したアセットを任意のタイミングでロードするフローを確認します。 動作環境 Unity 2022.3.20f1 Addressables 1.21.20 Addressables とは Unity におけるアセット管理システムであり、 Package Manager からインストール出来ます。事前にアセットをロード可能な対象としてグルーピングしておくことで、グルーピングされたアセットの中からいつでもアセットをロードし使うことが出来るようになります。(アセットには、ゲーム画像やテクスチャ、マテリアル、ゲーム音源など様々なものがあります) ScriptableObject とは ゲーム内のアイテムや敵パラメータ等のデータを作るために使うことが出来るシリアライズ可能なクラスです。アイテ
メモリ周辺でアセットの効率的にストリーミングさせることは、どのようなクオリティのゲームにおいても重要な要素です。私はプロフェッショナルサービスチームのコンサルタントとして、多くの顧客のプロジェクトのパフォーマンスの向上に努めてきました。その経験をもとに、Unity の Addressable アセットシステムを活用してコンテンツ読み込み時の戦略を改善する方法に関するヒントをいくつかご紹介したいと思います。 メモリは注意深く管理しなければならない希少なリソースであり、プロジェクトを新しいプラットフォームに移植するときには特に気を配る必要があります。Addressables を使用すると、弱参照を利用して不要なアセットが読み込まれないようにして、実行時のメモリの使用効率を向上させることができます。弱参照を使うと、参照されるアセットがメモリに読み込まれるタイミングとメモリから削除されるタイミング
はじめに 最近DLsiteで同人ゲーム販売を始めたのですが、同業サークル様のストアを見ていて、DLC販売も結構盛んなのだということを知りました。これをきっかけにぜひDLCを作ってみたいと思い、色々調査して自分なりの簡単なDLC実装方法を考えてみました。 正直ゲーム制作のノウハウをあまり持っていないので自信がないのですが、「Unity DLC 実装」等で調べてもなかなか情報にたどり着けず苦労したので、実装方法の一案として記事にしたいと思います。 もし、もっと良い方法や「現場ではこう実装してる」みたいな手法があれば、コメントにてお教え頂けると幸いです。 対象読者 Unity初心者 最低限エディタなどの基礎やC#はわかる Addressablesとかの追加パッケージについてはあまり知らない UnityでDLCを作りたいと思っている方 とりあえず見様見真似で良いからDLCを実現したい方 筆者の環境
はじめに こんにちは。クラウド事業部の野本です。 業務でモックサーバを作る際に、静的なファイルをふつうに URL でアクセスしてダウンロードできるようにする必要がありました。この用途に AWS の S3 を使いたいものの、バケットの設定を間違えると全世界に公開されてしまいそうで、公式ドキュメントを調べながら恐る恐る設定しました。 調べた結果、バケットポリシーで適切なアクセス制限を掛けるならパブリックアクセスブロック機能は有効のままでもいいことがわかりました。その設定方法や考え方について纏めます。 設定方法 S3 のオブジェクトを URL 直アクセスでダウンロードできるようにするには、 REST API GetObject を全員に許可するようにバケットポリシーを設定します。 リクエスト元を制限する際にポリシーが「非パブリック」と判定されるよう設定すれば、パブリックアクセスブロック機能はオン
Unity で AWS を使いたい ! Unity で S3 に保存している画像をログインできた人だけに見れるようにしたい! というような場合の、 AWS SDK のインストールから、Cognito 認証、認証情報を使った S3 の署名付き URL 作成の仕方を書き留めます。 ※ AWS で Cognito、S3 を作るやり方については書いていません バージョン情報 Unity: 2022.3.2f.1 AWS SDK .NET Standard 2.0: 3.7.300.16 1. AWS SDK を Unity に入れる Special considerations for Unity support には DLL を手動でダウンロードし、ディレクトリに配置する手順が書かれていますが、Nuget For Unity でもできます! 今回は Nuget を使った手順を紹介します。 1.1
Googleは、大規模なGoogle Driveの消失バグへの「修正方法」と称するものを公開しました。ArsTechnicaが伝えました。 Googleは本件を「Drive デスクトップアプリ バージョン84.0.0.0 ~ 84.0.4.0 の同期の問題」と呼称していますが、デスクトップアプリを介さないスプレッドシートやドキュメントの消失を報告するユーザーが複数人いるほか、デスクトップアプリを使ったことがないという報告者も居たため、Google公式発表には疑問が残ります。 Googleは回復手順として、Google Driveデスクトップアプリバージョン85.0.13.0以降で、Shiftキーを押しながらシステムトレイのGoogle DriveアイコンをクリックすることでデバッグUI「バックアップから回復」オプションを呼び出す方法を挙げています。復元が完了すると、Google Drive
Play Asset Delivery (PAD) は、150 MB を超えるアプリケーションを配信する際に使用する Google Play ストアの機能です。PAD は、APK 拡張ファイル (OBB) を使用して追加のアセット (テクスチャ、サウンド、メッシュなど) を保存する代わりに、アセットパックを使用します。Google はアセットパックを Google Play でホストして提供するため、アプリケーションリソースをユーザーに送信するためのコンテンツ配信ネットワークを構築する必要がありません。PAD の詳細については、Android の Play Asset Delivery を参照してください。 重要: PAD は、Google Play ストアでのみ使用できます。大規模なアプリケーションを他のデジタル配信サービスに対応させたい場合は、APK 拡張ファイル (OBB) を利用し
DxLibでリソース管理システムを作ってみた 前提:投稿者はふだん学校でDxLibを用いたゲーム開発を教えていて、そこで出くわしたトラブルや「こうしたらどうだろう」と言うのをQiitaにしてみようという考えで書いています。 このため、内容としては学生向けですし、DxLibというライブラリに関するお話し限定となります 動機 C++のshared_ptrやstd::vectorなどを使用することで、メモリのリークをかなり防げるようになったのですが、リソースの解放し忘れと言うトラブルからは逃れられていません。 これをどうにかして、shared_ptrのように自動でそれぞれのリソースを解放できるような仕組みにできないかと考えました。 もう一つの動機としては 「多重ロード防止」を実装したかった というのがあります。DxLibは同じものをロードしようとすると内部的にロード済みのリソースを別ハンドルで返
「アーティストが作ったデータの最新がどこにあるかわらかない」 「複数人でデータをやりとりした時にリンクが切れたりしませんか?」 「大量のデータを探しやすいように、アーティストが構造を作りたくないですか?」 などを解消するための、アーティストが作ったファイルを蓄積・共有・探索するツールをご紹介致します。 すべてのアセットが入ったライブラリーのようなものを使い、ゲームによってはアセットをダウンロードしてゲームにインポートしているのですか? ゲームのアセットを管理しているわけではないので、ゲームにインポートするわけではないです。 SDM2にアップロードされている様々なMayaシーンファイルなどを、アーティストが自分のMayaなどにインポートして利用できます。 SDM 2.0 で管理するアセットデータはどのようなストレージで管理されているのでしょうか? PostgresQL のような DB、または
現行のWindows 11 Ver.22H2では、「開発ドライブ(Dev Drive)」という機能が利用可能になっている。開発ドライブとは、ReFS(Resilient File System)を使う開発者向けのドライブである。Windows 11のビルド22621.2338以降、通常版であれば、9月に配布が開始されたOSビルド22621.2361(KB5030310)以降であれば利用できる。 Windows 11上で開発ドライブを作成するには、「設定」→「システム」→「ストレージ」→「記憶域の管理」→「ストレージの詳細設定」→「ディスクとボリューム」にある「開発ドライブを作成する」を使う そもそも開発ドライブとは? 開発ドライブは、ReFSを用いて、基本設定やセキュリティ設定を変更することで、性能を向上させる開発者向けの「ドライブ」である。ただし、性能向上のためには、Copy On Wr
先日非エンジニアの方から 「Googleドライブの共有状況を把握したい!!」 と話しているのを発見。 セキュリティの観点から共有状況を知ることは大切だと思います。 特に組織外の人に共有している場合は、しっかり管理しておく必要があります。 「これしか共有していないつもりだったのに・・・」 と大切な情報が漏れては大変です。 しっかり管理できるところはやっておきましょう。 共有状況を知る方法 共有状況を知る方法が以下の方法があります。 1. Google ドライブ の標準機能を使う 2. Google Workspace(旧名称 G Suite )を使う 3. ツールを使う それぞれのメリット・デメリットはこちらのサイトでまとめられています。 ツールをGAS使って自作しちゃおう 上記3点の方法を挙げたのですが、個人で作っちゃうのが一番ではないかと結論づけました。 調べてみるとGASを使えば解決な
N予備校 Android チームでテックリードをしている鎌田です。 N予備校 Android チームでは、SharedPreferences から DataStore(Preferences DataStore) に移行しました。 Preferences DataStore とは、SharedPreferences の後継となるデータストレージで、SharedPreferences からの移行に対応しています。 DataStore には 二種類あって Proto DataStore もありますが、こちらは使用しなかったため説明を省略します。 Kotlin Coroutines、Flow をベースに実装されており、非同期処理であるため UI スレッドをブロックすることなくデータを安全に扱うことができるのと、ANR が発生するリスクを抑えることができるため移行しました。 本記事では、どのように
LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog こんにちは。コミュニケーションアプリ「LINE」のAndroidクライアント開発をしている高梨です。 今回は、AndroidでKey-Value形式でデータ保存が可能なSharedPreferencesの暗号化に取り組んだ話を、どのように進行したのかに着目しながら紹介したいと思います。 なぜ暗号化をするのか LINEではユーザーの情報を守るために、End-to-end encryptionを行い、通信を保護しています。 しかし、ユーザーの端末上に保存されたメッセージや個人情報は、平文のまま保存されています。 これらの端末上のデータを暗号化し保護することで、LINEをもっと安心して使ってもらうことが暗号化の目的です。 このブログ
はじめに Addressablesを利用するとAssetBundleのロード先を柔軟に切り替えることができます。ローカルフォルダから読み込む場合はUnity上で簡単に動作を確認できますが、リモートフォルダから読み込む場合は別途自分でサーバを契約する必要が生まれたりします。自分のPCをサーバとして動かして、リモートでAssetBundleをロードする場合について確認できたら良いなと思い立ちました。 本記事は、MAMPというツールを使って自分のPCをサーバとして動かし、自分のPC上に配置したAssetBundleをAddressablesを用いてロードした記録のメモです。 環境詳細 Windows11 Unity : 2022.3.0f1 Addressables : 1.21.14 やりかたのメモ まずはMAMPをダウンロードしましょう。 以下のリンクから可能です。 インストールが完了したら
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く