テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

2019-10-01から1ヶ月間の記事一覧

【Unity】SerializeReference、Inspectorウィンドウでinterfaceを使用する

Unity 2019.3で利用可能になった SerializeReference Attributeについて紹介します。 SerializeReference interfaceをシリアライズ 複数のアクションがある場合にアクションを差し替えられるようにする アクションを複数登録する 感想 関連 SerializeReferen…

【Unity】Device Simulatorでノッチとセーフエリアの対策

Unity 2019.3で確認できるDevice Simulatorを使用して、ノッチやセーフエリアといった色々と面倒くさい問題の対策してみます。 Device Simulator インストール セーフエリア情報を元にUIを調整可能にする ノッチの範囲だけ回避したい 対応する端末が一覧に無…

【Unity】ISystemStateComponentDataという機能

今回は微妙に詳細な説明のないISystemStateComponentDataという機能を紹介します。 EntityがDestroyされても破棄されないコンポーネント Entity生成・破棄のタイミングで処理を一回実行する 初期化時の処理(Awake的な) 初期化後の毎フレーム実行する処理(…

【Unity】ECSのSubSceneでISharedComponentDataを使う

この記事はUnity 2019.2.8f1とEntities 0.1.1 を利用しています。また設計がイケてないので修正されてしまいそうな感じはありますが、現状SubSceneを試す上で知らないで苦労したのでメモします。 SubSceneでISharedComponentDataが使えない とりあえずIShare…

【Unity】structでも拡張メソッドを使用する

対応するAPIを探すのが若干面倒くさい 拡張メソッドで拡張する 構造体と拡張メソッドの参照渡し 対応するAPIを探すのが若干面倒くさい DOTS系テクノロジーの殆どはstruct(構造体)を利用しており、構造体自体にメソッドを追加していることは殆どありません…

【Unity】ECSで子Entityの”座標”と”向き”を使いたい

子オブジェクトの座標を使いたい LocalToParentを使用する 回転しながら弾を撃つ砲台 キューブを回す 弾を生成 弾を上方向に飛ばす 注意点 関連 このサンプルは Entities.0.1.1およびUnity 2019.2f8を使用しています 子オブジェクトの座標を使いたい Unityで…

【Unity】構造体のデータを異なる型に「再解釈」する

DOTS…特にECSで色々とやっていると、内部のデータは同じなのに型が違うせいで変換しないといけないというケースがあります。 例えば float のバッファを流し込んでバッチ処理を行うAPIがあった時、ローカルのデータで NativeArray<FloatData> のような構造体の配列は直</floatdata>…

【Unity】ブラシを使ってステージにGameObjectをサクサクっと配置する

ステージに木や岩を配置したい 今回やること 手順1:準備 手順2:配置するPrefabの登録 手順3:ブラシで塗る 補足 関連 ProBuilderで地面を作る場合 ステージに木や岩を配置したい ステージを作る際、 木や岩をランダムに配置したい という物があります。…

【Unity】LODGroupの設定を一気に変更する

LODGroup 複数のLODを編集したい LODの設定を一気に上書きするコード 注意:複数編集にPresetが使えそうに見えるが、使ってはいけない 感想 LODGroup 視覚上のポリゴンを削減するという用途でLODGroupという機能は非常にありがたい機能です。これは単純にロ…

【Unity】出来るだけ簡単にNew Input Systemを使いたい

新しいInput Systemは少し面倒くさい PlayerInputを使用する PlayerInputの利用手順 キー入力やゲームパッドの取得 関連 新しいInput Systemは少し面倒くさい 新しいInput Systemですが、正直な意見として面倒くさいというのがあります。アクションにキーを…

【Unity】新しいインプットシステムで、バーチャルパッドに対応させる

バーチャルパッドに対応させる 手順1:UIを作る 手順2:UIのボタンを押したら弾を出す 手順3:スティックを動かしたら動く オマケ:ボタン操作でプレイヤーを動かす 関連 バーチャルパッドに対応させる 新しいInput Systemでバーチャルパッドを作ってみま…

【Unity】新・新しいInput Systemの使い方(Inputsystem ver 1.0版)

以前書いた新しいInput Systemの記事の書き直しです。 新しいInput System(1.0) 導入 作るもの 手順1:Input Actionsを作る 手順2:キャラクターを動かす(コールバックで動かす場合) 手順2:キャラクターを動かす(ポーリングして動かす場合) キーコ…

【Unity】Burstコンパイラでルックアップテーブルを使用する

ルックアップテーブルを使おう Burstでルックアップテーブルを使おう サンプル 関連 ルックアップテーブルを使おう ルックアップテーブル:複雑な計算処理を単純な配列の参照処理で置き換えて効率化を図るために作られた、配列や連想配列などのデータ構造の…

【Unity】LWRPで特定のモデルのみポストプロセスがかからないようにする

一部のモデルにだけ、色あせるポストプロセスをかけない 昨日の応用で、一部のモデルにだけポストプロセスがかからないようにします。 一部のモデルだけポストプロセスの影響をかけないようにする 手順 注意点 一部のモデルだけポストプロセスの影響をかけな…

【Unity】LWRPでポストプロセスを使用しつつUIの手前にパーティクルを表示する

LWRPはカメラのスタックができない PostProcessingの後にUIとパーティクルを描画する UIの間にパーティクルを挟む 注意点 PCを新しくしてからの初更新です。 環境:Unity 2019.2f8、LightWeight RP 6.9.1 LWRPはカメラのスタックができない いろいろと便利な…