したかみ ぶろぐ

Unity成分多め

水流による魚群制御の考察

始めに ここ最近は個人開発でQuest向けの魚群シミュレーションを開発しています。現状の進捗としては入れたい機能をある程度実装して動作確認して、Questでどれだけ動かせそうかの上限が見えてきたところです。 そんな中、テストプレイをしていただいた方か…

【日記】2023年振り返りと2024年

始め なんやかんやで2023年が終わり2024年1月が終わりましたので、急いで去年の振り返りを書きます。 毎年何もやっていないなぁと感じつつ、振り返れば何かはやっていたのでそれらや思い出を簡単にまとめます。 また過去のブログを漁ってましたら2021年振り…

【Unity】線形補間を用いて力場から受ける力を求める

始めに これまでに何度か空間に力場を設定して、Boidsシミュレーションに組み込んで意図する挙動をさせてきました。 shitakami.hateblo.jp shitakami.hateblo.jp ブログには書いていませんでしたが、twitterに載せたこちらも空間に力場を作って魚群を円状に…

【Unity】Edit Mode 時に設定したテクスチャをマテリアルに反映するコンポーネントを作る

始めに uGUIを使わないUIを作るため、自作でテクスチャをマテリアルに設定するコンポーネントを作ります。 今回は備忘録的な内容なので結構あっさり目にまとめます。 始めに やりたいこと マテリアルの注意点 マテリアルを共有した場合、変更は別オブジェク…

【Unity】NativeMultiHashMapを使った近傍探索Boidsシミュレーション

始めに 前提 環境 Boids実装概要 Boidsの設定データ Boids実行クラス Boids計算クラス JobSystem 全探索Boids 実装 結果 近傍探索Boids NativeMultiHashMapについて 実装 結果 比較 まとめ 始めに 趣味でJobSystemを使ったBoidsシミュレーションを作成してい…

【Unity】JobSystemのサンプル作成と計測

始めに 作成するサンプル 動作環境 愚直な実装 + MeshRenderer JobSystem + Burst + MeshRenderer JobSystem + Burst + RenderMeshInstanced 計測結果 まとめ まとめ・感想 参考 始めに 並列処理が出来るJobSystemのサンプルを作成して、どれほどの性能なの…

【Boidsアルゴリズム】球体の障害物を回避させるアルゴリズムを考える

目次 目次 始めに 障害物から"逃げる" 結果 障害物を"回避する" 1. 障害物を回避する範囲内にいる、かつ逃げる範囲外にいるか 2. 前方向に障害物があるかをチェック 3. 個体の速度ベクトル を延長して、障害物の中心点との距離 を求めて障害物から逃げる範囲…

【Vive Pro Eye】アイトラッキングのデータを取得する場合はコールバックを使った方が良い

始めに 前回アイトラッキングの情報をアバターに反映させました。 shitakami.hateblo.jp そのときにAnalyzerで処理を調べたところ、アイトラッキングの情報取得が重いことが分かりました。なので、取得処理をコールバックに変更してどれだけ軽くなるのかを調…

【Vive Pro Eye】アイトラッキングで取得した瞳の位置をモデルに反映させる

始めに 半年前ぐらいにVive Pro Eyeを触りましてちょっとしか遊んでなかったので、今回は取得した情報をモデルに反映させてみました。 今回使用するモデルはこちらです。 booth.pm Vive Pro Eyeについては過去記事を参考にして下さい。SDKについて簡単にまと…

【雑談】2021年振り返り

始めに 今月何もブログを書けてなく、特に開発系で書きたい内容も無いので雑に今年一年を振り返ろうと思います。 ものすごく雑に書くので、誤字脱字やおかしな文章があると思いますがご了承ください。 2021年で変わったこと あまり大きな変化があったわけで…

ComputeShaderとDrawMeshInstancedIndirectでGraphicsBufferを使う

始めに 去年にこの記事を拝見し、GraphicsBufferなるものの存在を知りました。 zenn.dev また、この記事内にて遠い将来ComputeBufferが無くなり、GraphicsBufferに切り替わる予定とのことでした。 (GraphicsBuffer, Mesh vertices and Compute shaders - Un…

Riderのブレークポイント機能メモ

始めに ブレークポイントを設定する ブレークポイントで設定できる項目 有効 / 無効の設定 一時停止する条件の設定 状態の評価、出力 Unityの一時停止ポイントに変換 プログラム一時停止中に出来ること 変数の値を見る 任意の処理を実行する(変数の値の変更…

簡単にシェーダーが出来るiOSアプリ「Shade」の紹介

始めに iOSアプリ「Shade」について 基本的な機能 Surfaceノード ノード Preview設定 Preview Model Shadeのサンプルについて 作ってみたもの Triplanar 中心から放射するアニメーション Cubeを整列してアニメーション 使用感について 最後に 参考 始めに 最…

iOSアプリ「ショートカット」で卒業した推しの去年のツイートを表示する

始めに 作ったショートカット twitterの検索機能について 去年の推しのツイートを検索する やること概要 ショートカット作成 1. 現在の日付を取得 2. 現在の日付から1年減らす 3. 過去の日付という変数に保存 4. さらに1日減らす 5. 過去の日付 - 1という変…

Unityで映画Matrixになれるシェーダを作る

始めに 前回、前々回の記事です。 shitakami.hatenablog.com shitakami.hatenablog.com 今回の内容はこの2つを組み合わせたものです。特に目新しいことはないかもしれません。 また、今回の内容もリポジトリに追加しました。 github.com シェーダの作成 やっ…

Unityで平面マッピング・Triplanarをする

始めに shitakami.hatenablog.com 前回作成したマトリックスの模様をどうにかオブジェクトに貼り付けたいなと思い、調べたところ見つかったのが平面マッピングとTriplanarでした。 今回はこちらについてまとめようと思います。 平面マッピング(Planar) 「…

Unityのシェーダーでマトリックスの流れる暗号を書く

始めに 前回マトリックスのパーティクルを作成しました。 shitakami.hatenablog.com このままノリで映画の画面などで表示される模様をシェーダーで書いてみようと思います。 また、今回の内容はこちらのリポジトリに入っております。 github.com やったこと …

UniRxのオペレータCombineLatestとWithLatestFrom

始めに 2つのストリームを合成する際に、CombineLatestとWithLatestFromを混同していたので一度自分なりに調べてみようと思います。 始めに CombineLatest 1. 複数のIObservableをまとめられる 2. すべてのIObservableから1回以上、値が流れたら後続に流し始…

Unityで映画Matrixの暗号パーティクルを作る

始めに つい先日「マトリックス リザレクション」のPVが公開されました。 滅茶苦茶楽しみです。 www.youtube.com で、マトリックスと言えばあの意味の分からない文字の羅列が印象的ですが、それってパーティクルで作れない?ってことでノリと勢いで作ってみ…

使わなくなったHTC ViveフルセットとViveトラッカー1つでフルトラをする話

始めに Vive Pro EyeとValve Index Controllerを購入して、使っていたHTC Viveのデバイスが不要になりました。 ですが、調べてみたところViveコントローラーをViveトラッカーにすることが出来るようなので試してみました。 フルトラまでにやったこと Viveコ…

【UniRx】オペレータのSwitchについて

始めに UniRxのオペレータでSwitchを見かけたのですが、コードの挙動を追うことが出来ていなかったので勉強してまとめてみようと思います。 Switchとは? Switchは簡単に言いますとIObservable<T>を切り替えるオペレータです。 IObservable<IObservable<T>>の拡張メソッドで、</iobservable<t></t>…

UnityでValve Index Controllerの入力を試す

始めに Valve Index Controllerを最近購入しましたので、握る部分の入力をどのようにすれば取得できるかを調べてみました。 用意するもの Valve Index Controllerを扱うためにアセットのSteamVRを使用しました。 assetstore.unity.com あとはVive Controller…

Vive Pro Eyeを使って見た個所にポインタをつける

始めに 前回、前々回の記事です。 shitakami.hatenablog.com shitakami.hatenablog.com 記事を書きながらなんとなくで使い方がわかったので、実際に自分でプログラムを書いてVive Pro Eyeで遊んでみようと思います。 実行環境 Windows10 Unity2020.3.7f1 Eye…

アイトラッキングのSDKで使用できるメソッドについて

始めに 前回、Vive pro eyeを簡単に試してみました。 shitakami.hatenablog.com 今回は解説しきれなかったSDKに用意されているメソッドについてまとめようと思います。 バージョンはv2です。 途中、だらだら書いているので簡単に見たい方はまとめをご覧くだ…

Vive Pro Eyeを触ってみる

始めに Vive Pro Eyeを購入したので、Unityでアイトラッキングを試してみようと思います。 セットアップ 基本的なセットアップはフェイシャルトラッカーと同じなのでこちらを参照してください。 shitakami.hatenablog.com アイトラッキングを試す 始めにVive…

【UniRx】IObserver, IObservable, ISubjectについて

始めに UniRxを勉強すると必ず3つのインターフェースIObserver, IObservable, ISubjectが登場します。 勉強仕立てのときはこれらの関係性どころか覚えることすらできませんでした。 今回はその反省を踏まえ、自分なりにこれら3つをまとめていこうと思います…

Viveフェイシャルトラッカーを触ってみる

始めに 4月9日にHTC ViveからViveフェイシャルトラッカーが発売されました。 これまではIPhoneとかで口のトラッキングしてみようかと考えていましたが、HTC公式から発売されたデバイスなので買ってどんなものか試してみたいと思い、勢いで買ってしまいました…

UniRxを「いらすとや」でまとめる

目次 目次 始めに ※注意 Observable・Observerについて observeの意味 Observable Observer 使用する流れ Operatorについて Where Select SelectMany Merge Zip 最後に 参考 始めに UniRxは昔触ったことはありましたが、機能や使う利点がわからず長い間毛嫌…

近傍探索の実装とまとめ

始めに 今回の内容は次の記事を参考にして実装した内容になります。解説する内容は大体同じになってしまうかもしれません。 qiita.com Boidsアルゴリズムを改良したいと考えていた際にこの記事を見つけました。どんなものか調べるために自分で実装してみまし…

C++とOpenMPによるバイトニックソート

始めに 今回はバイトニックソートについてまとめていこうと思います。 参考にした記事がUnityとComputeShaderやJavaScriptでの実装だったので同じ言語だとあまり面白くならないのでC++を使用しました。 今回は図が多く長いので目次を用意します。 始めに バ…