タグ

tsubaki_t1のブックマーク (801)

  • 【Unity】 ECS まとめ(前編) - エフアンダーバー

    前にUnityのECSについて調べて記事を書きましたが、 おそらく今後しばらく使うことはないと思われるので、 忘れないうちに現状のUnity ECSについてまとめておくことにします。 www.f-sp.com ……という動機で記事を書き始めたのですが、 なんやかんやで片っ端から調べなおし、 まとめと呼ぶには長すぎる記事になりました。 多分、現時点での内容はだいたい網羅していると思います。 【19/05/06 更新】0.0.12-preview.31に対応。 【19/05/29 更新】0.0.12-preview.33に対応。 【19/09/25 更新】0.1.1に対応。関連記事へのリンクを追加。 【20/06/15 更新】0.11.0に対応。全体的に記述を変更。 ECS (Entity-Component-System) とは? Unity ECS の基 インストール アーキタイプとチャ

    【Unity】 ECS まとめ(前編) - エフアンダーバー
    tsubaki_t1
    tsubaki_t1 2019/04/19
    2019/04/19現在、最も素晴らしいECSの説明
  • 「リッチテキストって頂点ムッチャ増えない?」から始まるUnityEngine.UIの性能調査 - KAYAC engineers' blog

    UnityUIを作ると言えば、まずはUnityEngine.UIです。 中身のことを考える必要もなく、ドカドカとImageやTextを置けば 動くので大変有り難いわけですが、不意に猛烈に処理が遅くなることがあります。 記事では、たまたま見つけた現象と、そこから疑問を持って UnityEngine.UIの処理速度についていろいろ調べてみたことを、 技術部平山が書いてみます。 お急ぎの方のために結論を箇条書きにしておきましょう。 Graphic.color、RectTransform.sizeDelta、Text.textをいじると遅い 動かすだけでは大して遅くないが、動かさないよりは遅い リッチテキストは遅い 気になりましたら以下をどうぞ。 なお、Unityのバージョンは2017.4.8f1です。2018では改善している、 ということも多々ありそうですが、そのへんはご容赦ください。 UI

    「リッチテキストって頂点ムッチャ増えない?」から始まるUnityEngine.UIの性能調査 - KAYAC engineers' blog
    tsubaki_t1
    tsubaki_t1 2019/01/22
    「位置・回転・拡大」は別スレッドで処理するので負荷が低いとしてますが、別スレッドの処理待ちで詰まります。テキストは特別で、フォントの処理をメインスレッドでしてるので負荷が目に見えます
  • Unity 特有のパフォーマンス劣化の落とし穴 2018歳末ふりかえり - part 1 - @hadashiA

    今年、Unty製プロジェクトのパフォーマンス改善をやる機会があったんですが、世の中のかっこいい事例に出てくるような、ハードウェアやVM/コンパイラの気持ちになったミクロなチューニング、フレームワークの制限を回避するための大胆な再実装…… そういうかっこいい作業、には思ったよりならず、なによりもまず先に、Unityを使っているが故の落とし穴から這い出る一道の作業が多めになってしまった。 それというのも、Unityは非常に、そこそこのものを最小手順で 確認/動作できる、誰でもかんたんにモノをつくれる、という部分を大事にしているから、「パフォーマンスを考えると普通はこうなっていてほしいよね」といった部分が犠牲になっている、あるいは手が回っていない、という部分が実際まだまだあるように思えた。 simple よりも easy を取っているというやつだろうか。 仕事でやっていたプロジェクトは、まずコ

    Unity 特有のパフォーマンス劣化の落とし穴 2018歳末ふりかえり - part 1 - @hadashiA
    tsubaki_t1
    tsubaki_t1 2018/12/31
    今だとAssetBundleBrowser(重複は警告が出る)なりAssetBundleGraph(重複を自動で纏める)を使うのがお勧めかなぁ(どちらもUnity公式アセット)。何も知らないでAssetBundle系機能を自作するとこの問題にハマる
  • 【Unity】UnityのC#側のソースコードがオープンに - テラシュールブログ

    UnityのC#コードが公開されてました。 Unityのソースコードが公開 今まではilSpy等逆アセンブリで公開されていたものが無断で公開されていましたが、キチンとオープンになったみたいです。 公開範囲はエディターとプレイヤーの範囲ですがC#のみで、C++で記述されている部分に関しては未公開となっているみたいです。 github.com 範囲は2017.1~最新のものみたいです。 用途は参照専用 このプロジェクトはあくまで参照専用みたいです。 詳しくは以下のライセンスを。 Unity - Unity Reference-Only License (“License”)

    【Unity】UnityのC#側のソースコードがオープンに - テラシュールブログ
  • 「Flyers' Lab #4 『3Dアート編』」聴講レポート。「#コンパス」「武器よさらば」などの事例を挙げ,ゲームにおける3D表現が語られる

    「Flyers' Lab #4 『3Dアート編』」聴講レポート。「#コンパス」「武器よさらば」などの事例を挙げ,ゲームにおける3D表現が語られる ライター:大陸新秩序 2018年2月26日,Wright Flyer Studios(以下,WFS)は,東京都内で業界交流イベント「Flyers' Lab #4 『3Dアート編』」を開催した。 イベント前半では,ゲームにおける3Dアートについて,NHN PlayArtの藤田大介氏と,WFSのルイス・パオリーノ氏が各社の取り組みを紹介し,後半では両者が意見を交わす座談会が行われた。 ■関連記事 「Flyers' Lab #1」聴講レポート。スマホ向けのヒットタイトルを手がけた開発者達が明かすシナリオ制作のポイントとは 「Flyers' Lab #2」聴講レポート。ヨコオタロウ氏と加藤正人氏が「SINoALICE」および「アナザーエデン」の事例をもと

    「Flyers' Lab #4 『3Dアート編』」聴講レポート。「#コンパス」「武器よさらば」などの事例を挙げ,ゲームにおける3D表現が語られる
  • 【Unity】Assembly Definition Filesという神機能 - テラシュールブログ

    今回は地味ですが神機能なAssembly Definition Filesについて紹介します。 この機能は地味ですが、Unity開発の上で発生してる問題を(意図せず)かなり解決してくれるので、Unity 2017.3以降を使う人は是非覚えておいた方が良いかもしれません。 物自体は、C#のコードが出力するアセンブリを複数のアセンブリに分割する機能です。 ただし、使い方によってはコンパイル時間の削減によるイテレーションの高速化やビルドサイズ、アセットストアでの不満など様々な要素を解決する可能性がある機能です。 目次 Assembly Definition Filesという神機能 コンパイル時間を削減してくれるという神機能 プラットフォーム毎にコードを分けてくれるという神機能 AssetStoreから購入したアセットのNamespaceやクラス名が被っても大丈夫になる事がある神機能 注意点 特殊

    【Unity】Assembly Definition Filesという神機能 - テラシュールブログ
  • 【Unity】画面分割とマルチディスプレイ - 徳島ゲーム開発ごっこ 技術ブログ

    ゲームを皆で遊べば楽しいですよね。 複数人で遊べるゲームを作る場合、一画面に収まるタイプのゲームならいいのですが、プレイヤー一人につき一画面必要な場合だってあるわけです。 そうなると、画面をプレイヤー人数分で分割するか、プレイヤー人数分のディスプレイを用意して表示する必要がありますね。 なんとなくやってみましょう。 まあ、ぼっちの僕には何も関係のない話ですがね。 この記事にはUnity2017.2.0f3を使用しています。 画面を分割する 複数のディスプレイに表示する 試してみた 画面を分割する まず画面を分割してみましょう。 CameraコンポーネントのViewportRectの値を変更することで、カメラの画面表示位置とサイズを変更できます。 ちなみに、Viewportは左下が(0,0)、右上が(1,1)になりますよ。 下記の画像のように値を設定すれば、ディスプレイの左四分の一にカメラの

    【Unity】画面分割とマルチディスプレイ - 徳島ゲーム開発ごっこ 技術ブログ
  • 【Unity】アセットにラベルを付けて管理する方法

    Projectビューのアセットにラベルを付ける方法を紹介します。 アセットにラベルを付けると、ラベルで絞り込み検索ができます。 Projectビューが肥大化していたり、チーム開発などでは威力を発揮するでしょう。 昔からある機能ですが、Unity認定試験にラベルに関する出題があったため、簡単にまとめてみました。 ※使用しているUnityのバージョンは2017.2.0f3です。 [Unity_317×90] ラベルの付け方 ① ラベルを設定したいアセットを、Projectビューで選択します。 ② Inspectorビューの一番下に、ラベルを設定する箇所があります。 ③ ラベルのアイコンをクリックすると、ラベル一覧が表示されます。 選んでクリックするとラベルが設定されます。 ④ 設定されたラベルにはチェックマークがつきます。ラベルは複数設定できます。 ⑤ ラベルを外したい場合は、もう一度ラベルを

    【Unity】アセットにラベルを付けて管理する方法
    tsubaki_t1
    tsubaki_t1 2017/11/06
    アセットの検索とかカテゴリ分けをやりやすくする奴
  • Meta2の環境構築について - CrossRoad

    前回から間が空いてしまいましたが、Meta2のセットアップ手順をまとめました。前回の開封編はこちらです。 Meta2について(開封編) - CrossRoad なお、Meta SDKのバージョンは2.4.0です。(スクリーンショットにはv2.3.0のものも混じっています) 0. PCを準備する 1. Meta2 SDKをインストールする 2. ケーブルを接続する (順番が重要) 3. Meta Utility Appで接続状態を確認する 4. 装着する 5. サンプルアプリを試す 6, 終わりに 0. PCを準備する HoloLensと異なり、PCが必要です。必要スペックはここに記載があります。Oculus RiftやHTC VIVE、Windows Mixed Reality Headsetが動く環境であれば問題ないです。 1. Meta2 SDKをインストールする こちらからインストー

    Meta2の環境構築について - CrossRoad
    tsubaki_t1
    tsubaki_t1 2017/11/06
    Meta2 SDKの導入からサンプルを試すまでの手順
  • 【Unity】CPUプロファイラに表示されるの項目をスクリプトで取得する - テラシュールブログ

    プロファイラーに表示されるようなCPUの処理時間をスクリプトで取得する方法についてです。 プロファイラーは負荷の高い部分を観測する プロファイリングの結果をスクリプトで云々する RecorderでProfiler(CPU)の項目を取得 処理時間がやたら長くなったら止める 画面に出す プロファイリングにはCustomSamplerが必要 関連 プロファイラーは負荷の高い部分を観測する 処理負荷はゲーム画面のプロファイラやInstrumentsといったツールを使って確認するのがベストなアイディアです。 例えば「ゲームが重い」原因は何か? GC? ロード? 物理演算? それともアニメーション? 軽い部分をいくら調整しても、ボトルネックとなる重い部分を取り除かなければ大抵の場合は余り効果が見込めません。 (むしろ、この世の全てはトレードオフ…悪い結果を呼び出す事もあるかもしれません) 何を削れば良

    【Unity】CPUプロファイラに表示されるの項目をスクリプトで取得する - テラシュールブログ
  • 【Unity】ユニティちゃん等で、ジャンプ中に追加で上下してしまう問題の解決方法 - テラシュールブログ

    今回は上下の動きが最初から含まれているジャンプモーションをアクションゲーム等で使用する方法についてです。 ジャンプ中にジャンプモーションがジャンプする ジャンプアニメーションから上下移動を取り除く 手順 実際の動作 着地時に足がめり込む ジャンプ動作が分割されていない場合 ジャンプ中にジャンプモーションがジャンプする ユニティちゃんのようなキャラクターをアクションゲーム等で使用していると、キャラクターのジャンプ中にもう一度ジャンプしてしまう…という事があります。 例えば上のGifアニメのケースです。 右が通常のジャンプ、中央がジャンプモーションです。各々はそれ程問題が無いのですが、二つ合わせてしようすると左のジャンプモーションのように、ジャンプ中にもう一段ジャンプする問題が発生します。 ジャンプアニメーションから上下移動を取り除く この問題は、ジャンプモーション中に「ジャンプの上下」が含ま

    【Unity】ユニティちゃん等で、ジャンプ中に追加で上下してしまう問題の解決方法 - テラシュールブログ
  • Resources外にあるMultipleなSpriteを取得する【Unity】 - (:3[kanのメモ帳]

    この記事でのバージョン Unity 2017.2.0f3 はじめに UnityではSprite ModeをMultipleにすると1枚の画像に複数のSpriteを設定する事が出来ます。 この複数のSpriteを全て取得する場合は、以下のようにResources.LoadAllを使います。 //Resources直下にあるUIのSpriteを全て取得 Sprite[] uiSprites = Resources.LoadAll<Sprite>("UI"); しかし、この方法はResources内に配置してある時にしか使えません。 なので、今回はResources外にあるMultipleなSpriteを取得する方法のご紹介です! なお、記事中では以下のアセットを使っております。 Mobile Scifi GUI | 2D GUI | Unity Asset Store AssetDatabas

    Resources外にあるMultipleなSpriteを取得する【Unity】 - (:3[kanのメモ帳]
  • 【Unity】Hierarchyビューを複数使うのは、大きめのシーンを扱う際に便利かもしれない - テラシュールブログ

    大きめのシーンを扱う時、Hierarchyを複数扱うと広い範囲をカバー出来て便利かもしれない…というお話です。 巨大なシーンとHierarchy ならば検索…タグはどこだ? Save SelectIionは選択を記憶する そうだ、Hierarchyを増やそう やり方 選択先の情報が他のタブにも影響してしまうのを回避 Inspectorビューも同時に編集 関連 日記 巨大なシーンとHierarchy 巨大なシーンを操作している時、複数の範囲のGameObjectを同時に編集したくなるといったケースがあります。 例えば、キャラクターのGameObjectとUIのGameObjectを行ったり来たりするような場合や、階層の広いUIを上に下に行ったり来たりする場合。 それがSceneViewで管理出来る物ならば、SceneViewでアクセスすれば良い話ではありますが、巨大なシーンになってくるとそれ

    【Unity】Hierarchyビューを複数使うのは、大きめのシーンを扱う際に便利かもしれない - テラシュールブログ
  • 【Unity】固定フレームも可能、画面を録画出来る Recorder - テラシュールブログ

    今回はUnityの画面をキャプチャーして保存するアセットについて Unityの画面を動画としてキャプチャーするRecorder 可変フレームではなく、固定フレームで撮影が可能 使い方 エディターの画面を動画としてキャプチャーする 細かい設定 アルファ抜き Timelineとの連携 Audio Recorder、GBuffer Recorder、Movie Recorder 感想 Unityの画面を動画としてキャプチャーするRecorder 最近、画面を動画としてキャプチャー出来る事は珍しくなくなりました。 以前はkamcordやLobi Rec、every play等のサービスを活用する必要がありましたが、最近ではAndroid(play game)でもiOSでも標準機能に近い形で画面をキャプチャーする事が可能になっています。 Recorderはアプリ側に組み込むアセットで、画面をキャプチ

    【Unity】固定フレームも可能、画面を録画出来る Recorder - テラシュールブログ
  • 【Unity】TextMeshProのアウトラインは、uGUIのと比べてとても良い - テラシュールブログ

    前回に続きTextMeshPro。今回はアウトラインについてです。 TextMeshProのアウトライン アウトラインの設定方法 内側滲む対策は、文字を広げる事で回避 アウトラインの色々なエフェクトを試してみる ポリゴン数も増えず、オーバードローも無い。レイアウトにも優しい uGUIのアウトライン手法と問題について 細い文字はアウトラインを太くしにくい問題 文字を表現するために沢山の描画が発生する問題 ソレはソレとして 関連 TextMeshProのアウトライン まず題です。 TextMeshProは、シェーダー側でアウトラインを実現しています。元々SDFでフォントを実現する仕組みなので、その辺りは割と簡単に出来ているのかなと。 アウトラインの設定方法 アウトラインの設定は、マテリアルのOutlineのThicknessから行います。 この項目を増やすと、文字にアウトラインが付きます。

    【Unity】TextMeshProのアウトラインは、uGUIのと比べてとても良い - テラシュールブログ
  • AssetBundleGraphTool を触ってみました

    エンジニアの吉野です。 先日アップデートされたばかりの AssetBundleGraphTool v1.3 をこれまた先日リリースされた Unity 2017.1 に入れてみました。 AssetBundleGraphTool の bitbucket ページ 日語マニュアル 今回はゲームで使用する Asset がどの AssetBundle に入っているかのテーブルデータをカスタムノードで作成したのでかいつまんで紹介しようと思います。 概要 ゲームで Asset を読むときに、開発中はローカルから、実機では AssetBundle を使いたいということが良くあります。 (Unite 2017 で紹介されていた Addressable Assets が入ればいらなくなるはずなので、それまでのつなぎで…) これを満たすための仕様としては、おおむね以下の図のようになると思います。 この図の As

    AssetBundleGraphTool を触ってみました
  • SpatialOSを使えばMMOゲームを作れそうな - Qiita

    インターネットをご覧の皆さん こんばんは。 SpatialOS(https://improbable.io/games)を触ってみたところ、なかなか面白かったのでメモがてら記事を書いてみます。 SpatialOSとは? Improbable社(https://improbable.io)が開発している、 MMOゲームの開発&実行プラットフォームです。 MMOゲームに求められる要件をシンプルに表現するなら、 多人数のプレーヤで同一空間を共有する 空間内のオブジェクトの状態を全ユーザで同期させる といったところでしょうか。 SpatialOSはこの空間共有&状態同期を行う仕組みを提供します。 今年はGoogle Cloud NextやGDCでもセッションを行っていたので、目にされた方もいるのではないでしょうか。 Google Cloud Next '17 | Herman Narula Day

    SpatialOSを使えばMMOゲームを作れそうな - Qiita
    tsubaki_t1
    tsubaki_t1 2017/07/09
    SpatialOSではUnityでサーバサイドの実装もできます。 …む?
  • AndroidでComputeShaderのテスト - Qiita

    環境 Unity5.6.1f1 概要 AndroidでComputeShaderのテストをしてみました 追記(2017/06/22) 最近のスマホだとPSIZEがちゃんと動作するみたいなのでコードを変更しました スマホ対応状況 以下で確認できます http://hwstats.unity3d.com/mobile/gpu.html OpenGlES3.1の設定 ・「BuildSettings」でAndroidに「SwitchPlatform」する ・「PlayerSettings」>「OtherSettings」>「AutoGraphicsAPI」のチェックを外す ・「GraphicAPIs」リストから「OpenGLES2」を削除する ・「RequireES3.1」もしくは「RequireES3.1+AEP」のどちらかにチェックをする ComputeShaderの作成 ・プロジェクトビュー

    AndroidでComputeShaderのテスト - Qiita
    tsubaki_t1
    tsubaki_t1 2017/06/15
    UnityでOpenGLES 3.1使ってcompute shader
  • 【Unity】ボタンを押したら音が出る…を、出来る限りコードを書かずに実現する - テラシュールブログ

    今回は、ボタンを押した際に音を出す方法を聞かれたので、ココにも書いておきます。音の制御というよりは「ボタンを押した時に音を出したい」という要望を叶える為の物です。 ボタンを押したら音が出る Audio Soureceはスピーカー、Audio Listenerは耳 AudioSource.PlayOneShotで音を再生する。…ボタンから 実際の手順 クリック以外で音を鳴らす場合はEvent Triggerで呼ぶ AudioSourceが違うシーンだったり、ボタンを動的に作ってる場合 ScriptableObjectの「アセット」を用意 AudioSourceを登録 ボタンを押したらScriptableObjectを経由して音が出る 雑記 関連 ボタンを押したら音が出る 自分が小学生の頃、ボタンを押したら音が出る(あと光る!)玩具で遊んだ事を覚えています。 ボタンを押したら「ジョインジョ

    【Unity】ボタンを押したら音が出る…を、出来る限りコードを書かずに実現する - テラシュールブログ
  • Text Mesh Pro使ってみた - トマシープが学ぶ

    Text Mesh Proとは unityでテキストを扱えるアセット そのうちデフォルト機能として統合していくらしい。 作る createから3D,2D共にオブジェクトとして作れる。 オブジェクトのインスペクタを見ると色々設定できる。 フォント フォントの種類はデフォルトが6種類だが、日フォントを含め自分で追加できる。 WindowsからTextMeshPro>Font Asset Creator あらかじめフォントUnityに追加しておく、macならFinderの上の移動を選択、optionボタンを押すと表示されるライブラリを選択。その中のFontフォルダの中に入っている。 フォントを選択してGenerate Font Atlasでできる。 終わったらsave TextMeshPro〜を押すのを忘れずに。 ちなみにむつごフォントでは作成できなかった。日語タイトルだからかな? 保存

    Text Mesh Pro使ってみた - トマシープが学ぶ