なおしのこれまで、これから

学んだこと・感じたこと・やりたいこと

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

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

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

始めに 前回アイトラッキングの情報をアバターに反映させました。 shitakami.hatenablog.com そのときに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++を使用しました。 今回は図が多く長いので目次を用意します。 始めに バ…

バーチャルでLTをしてみての感想(Online Game-Tech2020、stdout2020)

始めに リモートでのLTイベントのOnline Game-Tech LT 2020が11/1に、stdout2020が12/13に開催されました。 この2つのイベントにバーチャル登壇をしてきました。その感想をまとめていこうと思います。 このバーチャル登壇で使用したものは以下の記事にまとめ…

多次元配列を1次元配列に変換する計算

始めに 過去記事の内容で3次元配列を1次元配列にする解説が少しわかりにくいとなり、補足記事を書こうと思います。 shitakami.hatenablog.com 2次元配列を1次元配列にする まずは2次元配列から1次元配列に変換することから始めます。 例として高さ3、幅5の…

ベクトル場を使った衝突回避Boidsアルゴリズム

始めに 前回のブログで作成したベクトル場を使って衝突回避をするBoidアルゴリズムを実装したいと思います。 今回のサンプルです。 github.com 過去記事です。 shitakami.hatenablog.com shitakami.hatenablog.com やったこと 始めにベクトル場を計算します…

人型モデルの周りにベクトル場を生成する

始めに Boidsアルゴリズムで衝突回避の実装について考えた結果、周りにベクトル場を生成すればいいのではと思いました。 そこで今回はSkinnedMeshRendererでアニメーションをするオブジェクトの周りにベクトル場を生成してみようと思います。 今回のサンプル…

ML-Agentsの訓練設定ファイルを生成するEditor拡張の作成

始めに ML-Agentsの訓練設定ファイルをUnityで編集できるエディタ拡張を作成致しました。 github.com ※まだ開発途中です!今後更新又は修正していく予定です TrainingSettingFileEditor 機能 各パラメータを設定して.yamlファイルを生成することが出来ます。…

ML-Agentsでシューティングゲームを学習させる

始めに ML-Agentsの本を大体読んだので自分で簡単なシューティングゲームを作って、それを学習させてみようと思います。 注意としてML-Agentsの解説は少しありますが、この記事を読んでML-Agentsを動かせるようにはならないのでわからない箇所がある場合は以…