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

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

近傍探索の実装とまとめ

始めに 今回の内容は次の記事を参考にして実装した内容になります。解説する内容は大体同じになってしまうかもしれません。 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を動かせるようにはならないのでわからない箇所がある場合は以…

アニメーションするオブジェクトを大量に表示する(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 VFT+テッセレーショ…

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

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

画面をキャプチャしてgif変換してはてなブログに載せるまで

始めに 1カ月くらいブログを書いてなかったので久々に更新したいと思います。 今回は自分のメモ用として書いていく予定です。 また、今回はWindows向けとなるのでご了承ください。 画面のキャプチャ、録画 私がブログをまとめる際によく使っているショートカ…

AtCoder緑になった

始めに AtCoderを続けて緑になれたので、ブログにまとめようと思います。 過去記事です。 shitakami.hatenablog.com shitakami.hatenablog.com 2か月間やらなかった 早速ですが、4月の頭ぐらいから6月の頭ぐらいまでコンテストに出ない期間がありました。 こ…

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 - 派閥 問題の概要は次の通りになります…

AtCoder始めて1カ月

始めに 約1カ月前からAtCoderをやっております。 そこから、今現在までの経過をここにまとめていこうと思います。 shitakami.hatenablog.com AtCoder Problemsで練習 AtCoderを初めてから現在までの結果です。 始めはC、D問題をメインで解く練習をしました。…

初めてのAtCoder

始めに 今書いているブログの内容がまだまとめることが出来ていないので、雑談で初めてAtCoderをやった感想を書こうと思います。 プログラミングの経歴 大学入学初期 プログラミングを始めたのは大学に入ってからで、それまでは"Hello, World"を表示するプロ…

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の行列を使って回転について解説…