したかみ ぶろぐ

Unity成分多め

バーチャルで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を動かせるようにはならないのでわからない箇所がある場合は以…

アニメーションするオブジェクトを大量に表示する(VAT + GPUInstancing)

始めに 前回はVAT(Vertex Animation Texture)についてまとめました。 今回はVATとGraphic.DrawMeshInstancedIndirectを組み合わせるサンプルを作成してみました。 過去記事 shitakami.hatenablog.com shitakami.hatenablog.com shitakami.hatenablog.com …

VAT(Vertex Animation Texture)を使用してシェーダーでアニメーションをさせる

始めに 野球ゲームの観客だったり、最近ではVtuberのライブの観客だったりで多くのNPCを表示させてかつアニメーションもさせています。 どうやれば実装できるかと思っているとき、VAT(Vertex Animation Texture)という技術を知りました。 このVATを使うこ…

ML-Agentsのサンプルを動かしてみた

始めに 本屋でテキトーに本を見てた時にML-Agentsの新しいバージョンの本があり、秒で買ってしまいました。 Unity ML-Agents 実践ゲームプログラミング v1.1対応版 (Unityではじめる機械学習・強化学習)作者:布留川 英一発売日: 2020/08/14メディア: 単行本 …

ComputeShaderでGPUパーティクルを実装する

始めに ComputeShaderについて調べてみますと「GPUパーティクル」という単語を何度か目にしました。 今回はこのGPUパーティクルについてまとめようと思います。 こちらのサイトを参考に実装を行っています。 qiita.com また、今回の内容は以下のリポジトリに…

群れの表現(Boidsモデル)をUnityで実装する

始めに 前回はDrawMeshInstancedIndirectとComputeShaderを使って動くcubeをたくさん表示しました。 shitakami.hatenablog.com 今回はBoidsモデルを実装しようと思います。 もし、DrawMeshInstancedIndirectやComputeShaderについてわからないことがあれば過…

DrawMeshInstancedIndirectとComputeShaderを組み合わせる

始めに 前回はDrawMeshInstancedIndirectについてまとめました。 shitakami.hatenablog.com 今回は前回の内容とComputeShaderを組み合わせた簡単なサンプルを作成したいと思います。 ComputeShaderについては以下の記事にまとめています。 shitakami.hatenab…

Graphics.DrawMeshInstancedIndirectまとめ

始めに 去年ちょっとだけGraphics.DrawMeshInstancedIndirectを触りました。 shitakami.hatenablog.com 今回はその復習も兼ねてこの機能についてまとめていこうと思います。 Graphics.DrawMeshInstancedIndirectについて このメソッドを使用することによって…

VRでオブジェクトを掴む処理を自作する

始めに 過去記事です shitakami.hatenablog.com 開発中にオブジェクトを掴むプログラムを探してた際にほとんどがAssetStoreのライブラリだったので、自分が使いやすいようにするため自作しました。 また、このプログラムを書くのが2回目だったのでブログにま…

Gray-Scottモデルで遊ぶ(頂点アニメーション、テクスチャ書き込み等)

始めに 過去記事です。 aizu-vr.hatenablog.com shitakami.hatenablog.com 色々触ってみてもうちょっと面白いことが出来るんじゃないかと検証してみました。 半分今までの復習みたいな感じです。 プロジェクトはこちらです。 github.com VTF+テッセレーショ…

CustomRenderTextureで実装するGray-Scottモデル

始めに つい最近、部活のブログでComputeShaderを使用したGray-Scottモデルについて紹介しました。 aizu-vr.hatenablog.com このブログを書きながら、「これってCustomRenderTextureでも実装できるんじゃね?」と思ったのでやってみようと思います。 今回の…

Viveコントローラーでマウスを動かす (Unity)

始めに 前回の記事です。 shitakami.hatenablog.com VTuberで勉強会をする際にDiscordをいじったりしたかったので、Viveコントローラーでマウスを動かす機能を作成しました。 あと、マウスの入力に関する記事はたくさんありますが逆にマウスを動かす内容の記…

女の子になって勉強会をやってみた

始めに コロナウイルスが少しずつ収まり、やっと緊急事態宣言が解除されました。ですが会津大学ではまだ授業がリモートであったり部活動が制限されています。 そんな中、A-PxL(VR部)ではリモートで部活動を行っております。私もそれに倣ってリモートで何か…

ABC170 D Not Divisible

始めに そろそろ3か月間ブログを書かずにいるので、簡単に書ける内容として今回も競技プログラミングのメモを残そうと思います。 また、今回説明する問題はコンテスト中解くことが出来ずにイライラしてその憂さ晴らしも兼ねております。 ABC170 D Not Divis…

bit全探索の問題をbit全探索しないで解いたお話

始めに 今現在、このサイトの問題を解いております。 qiita.com ここのbit全探索の練習問題を解いたのですが、自分の解法が別のアルゴリズムで解けたので少しまとめたいと思います。 AtCoder Beginner Contest 002 D - 派閥 問題の概要は次の通りになります…

Unityで雪を作ってみる by Compute Shader

始めに 過去記事です。 shitakami.hatenablog.com shitakami.hatenablog.com shitakami.hatenablog.com 前に雪のシェーダーを作成しました。前回はカメラの深度を使用しましたが、今回はComputeShaderを使ってテクスチャに雪の凹凸情報を書き込み、それを元…

3D数学の復習と実践(Quaternion)

始めに 過去記事 shitakami.hatenablog.com shitakami.hatenablog.com shitakami.hatenablog.com 当初の目標であるQuaternionを扱っていきます。恐らく今回でラストの予定です。 虚数・複素数 Quaternionでは複素数を扱うので簡単に解説します。 複素数では…

3D数学の復習と実践(ロドリゲスの回転公式)

始めに 過去記事 shitakami.hatenablog.com shitakami.hatenablog.com Quaternionの解説をしようと思いましたが、今回はロドリゲスの回転公式を扱っていこうと思います。 この内容と同時にQuaternionをやっていこうと当初は予定していましたが、四元数の解説…

3D数学の復習と実践(平行移動)

前回 shitakami.hatenablog.com 前回の記事で回転についてまとめたので、今回は平行移動についてやっていこうと思います。 今回も前回と同様にUnityのShaderで座標移動を実装していこうと思います。 4 × 4の行列 前回は3 × 3の行列を使って回転について解説…

3D数学の復習と実践(回転とスケーリング)

始めに 部活での勉強会にて「Quaternion理解している人いますか?」って質問で誰も手を上げる人がいませんでした。かくいう私も理解してませんでした。 ってことで5月6月ぐらいに勉強してブログでまとめようとしましたが、マークダウンで数式を書くのが面倒…

Behavior Designer使ってみた

始めに ちょっと昔に敵を作っていた時にBehaviorDesignerというものを知りました。 正直、モンスターを作るのって滅茶苦茶大変だしやること多いしデバッグも大変だしで難儀な工程だと思います。 しかし、それでも作っていると楽しかったりします。 雑談が長…

描画を効率的に行いたい

始めに 前回ComputeShaderについて勉強しました。 shitakami.hatenablog.com shitakami.hatenablog.com 次に学習したComputeShaderを使って何かしたいなってことで大量にオブジェクトを生成したいってなったので、GPUインスタンシング、そしてそれを勉強する…

ComputeShaderを勉強してみる その2

始めに 前回ComputeShaderの基礎を簡単に勉強しました。 このときはXJINEさんのブログを参考にしています。 shitakami.hatenablog.com neareal.com 前回はComputeShaderの基礎、実行、データの受け渡しを行いました。 今回はテクスチャをComputeShaderに渡し…

ComputeShaderを勉強してみる

始めに 前回、雪のシェーダーを作成しました。その時「波も作れるんじゃね?」と思い勉強をしてましたが、ComputeShaderに出会いました。 一度前に、こちらの本を見たときに簡単に触れましたが、難しいすぎて理解できませんでした..... https://indievisuall…

Unityで雪を作ってみる

始めに 最近、やる気が落ちて気持ちも滅入ってました。そんな中、少しずつ気分を持ち直すためにシェーダーを勉強してました。 そして丁度、部活でLT会をやるということで前々からやってみたかった雪をシェーダーで実装してみようということで、ここでそのこ…