JKになりたい

何か書きたいことを書きます。主にWeb方面の技術系記事が多いかも。

X(Twitter)やめた。BlueSkyはじめた。ブログの名前変えた。

Xやめた Xやめた。 理由は、いつも何かしらしょうもない誹謗中傷合戦だか正義感の押し売り合戦に辟易するから・・というよく言われがちな話ももちろんある。 ただ、主たる理由は別にあって「どんなことでプチバズしてしまうかわらないので怖い」「薄いリアル…

PPOにまつわる備忘録

何の記事か 最近、HuggingFaceの強化学習チュートリアルをみてたんですよ。 で、PPOのこの最後の目的関数の意味がわからなかったんですよね。 これ。 (1) 各項は「クリップされた代理方策目的関数 - 価値関数の目的関数 + エントロピーボーナス」となってい…

APIGateway+Lambda+S3で格安GitLFSサーバーを運用する【使い方の紹介と車輪の再発明_:(´ཀ`」 ∠):】

はじめに 個人ゲーム開発で困ることといえば、巨大な容量を誇るリポジトリのバージョン管理ですよね。皆さんどうしてますか? 色々なオプションがあるかと思いますが、一番格安かつデータ消失などにも強い方法として自分はAPIGateway+Lambda+S3の組み合わせ…

VolumeTextureを使ってUnrealEngine上でHoudiniで作ったPyroシミュレーション(Smokeシミュレーション)を再生する

追記 本記事で利用しているHoudiniで作成したVolumeTextureを以下に公開しておきます。 こちら利用すれば、Houdiniをもっていない方でもお試しできます。 いつまで公開しているかは未定。ダウンロードできなかったらごめん。 ColorSmoke.zip - Google ドライ…

VAT(頂点アニメーションテクスチャ)を使ってHoudiniで作成した破壊シミュレーションをUE5にもってくる

sakataharumi.hatenablog.jp この記事のUE版。 Houdini Engine PluginとSideFX Labは導入済みであることを前提としています。 VATのエクスポート(by Houdini) VATのエクスポートは前回の記事を見ながら行います。 Labs Vertex Animation Texturesノードを使…

【UE5】Set Input Mode UI Only適用~適用解除(Set Input Mode Game)時にインプットアクションの入力が残り続ける問題

現象 会話シーンのデモをテスト的に作っていました。(会話シーンの作り方は本旨でないので扱いません) 話しかける操作を実行した際に、会話のダイアログを出しWidgetに対して操作ができるように、かつキャラクターは操作できないようにしないといけないの…

【UE5】MixamoのアニメーションでVRMのキャラクターを動かせるようにする【IKリターゲティング】

数多のキャラクターやアニメーションが無料で、しかも商用利用もできてしまうという夢のようなサービスMixamo このアニメーションを使ってゲームを作れたら最高ですよね。今回はVRMで作った自分のキャラクターモデルを動かしてみようと思います。 当然、ボー…

AI Blitzは機械学習入門に最適?年末年始に参加したのでレポ。

AIcrowd が主催しているコンペ、AI Blitzの#12に参加したのでそのときの結果と解法を記録としてブログに残しておこうと思います。 AIcrowdで開催されるコンペってKaggleよりエンターテイメント性のあるユニークなコンペが多く、前々から興味はあったんですよ…

VAT(頂点アニメーションテクスチャ)を使ってHoudiniで作成した破壊シミュレーションをUnityにもってくる

Houdiniで作成した破壊シミュレーションをUnityにもってくる手順をメモとして残しておきたいと思います。 シミュレーション結果をUnityで利用するには、VAT(頂点アニメーションテクスチャ)をエクスポートし、それをUnityで利用します。 VATとは VAT(頂点ア…

PackedMapを利用する場合のShaderの例(続・Houdiniで制作したSmokeシミュレーションを連番テクスチャとして吐き出してUnityで利用するまで。)

はじめに この記事は sakataharumi.hatenablog.jp の続きです。 前回の記事はColorMap、NormalMapを出力しましたがEmission Mapは使用していませんでした。 本記事では、EmissionMapを使ってみようと試行錯誤した記録と結果を書いていきます。 EmissionMapを…

Houdiniで制作したSmokeシミュレーションを連番テクスチャとして吐き出してUnityで利用するまで。

HoudiniでPyroエフェクトを使ったボリュームのシミュレーションを試していたんですが、これどうやってゲーム制作で使うんだ?と思い調べて試した記録です。 結論、Texture Sheetとしてフレーム単位で2Dイメージを出力したものを使うのが良さそうなので、そち…

Houdini Engine for UnityでHoudiniで作ったプロシージャルモデルをUnity上で利用する

突然ですが、最近(ここ数日レベル)はHoudiniに入門しています。 きっかけはVFX Graphでエフェクトを制作していた際、自分の思っているものにするにはVectorFieldというものが必要で、それを作成するためにはHoudiniが必要・・やるか・・という感じです。 …

【その他いろいろな設定】HDRPで絵作りに挑戦していく【Part 3】

前回の続きです。 sakataharumi.hatenablog.jp 4 Ambient Occlusion Ambient Occlusion(環境遮蔽)を利用して、細かい部分の陰影をつけていきます。 AO適用前 AO適用前の状態では、例えば、手前の三段重ねの発泡スチロールの横の部分など本来光が遮られていそ…

【光りを放つものを作っていく】HDRPで絵作りに挑戦していく【Part 2】

前回の続きです。 sakataharumi.hatenablog.jp 3. 光りを放つものを作っていく 今回のシーンでは、光を放つものが3つあります。 1つが既に発光している店の扉。もう1つが提灯。最後が店の看板です。 今回は、この3つについて設定をしていきたいと思います。 …

【準備~環境光、ボリュームの初期設定まで】HDRPで絵作りに挑戦していく【Part 1】

今回から何回かにわたり、HDRPを利用したシーンのライティングに挑戦していきたいと思います。 自分もHDRP素人というか、そもそもライティングからよくわからない人間なので、勉強したことの備忘録という感じです。 間違っている箇所もあるかと思いますので…

stable baselines3+imitationで模倣学習(BC&AIRL)

stable baselines3では、模倣学習のfeatureがimitationというライブラリに移譲されることになりました。 stable-baselines3.readthedocs.io github.com これにより、(過渡期である事も要因であるとは思いますが)以前は非常に簡単にできていた模倣学習に一…

【TextMeshPro】入力文字列をTMP_InputField経由でなくTextMeshProUGUIを直接参照して取得してしまったばかりにゼロ幅スペースで苦しんだ記録

些細な話ですけど、ハマる人いると思うんで、備忘録として置いておきます 結論 TextMeshPro用のInputFieldであるTMP_InputFieldを使うときは、子GameObjectのTextMeshProUGUIを参照して入力された文字を取得してきてはいけない!ゼロ幅スペースが入ったりす…

ゲームを作った。一人は大変だ。だからディスコードサーバーをつくった。

ゲームを作ったよ('ω') つくったゲームはこちら。 www.freem.ne.jp ここ三か月くらい、平日の夜の時間などのスキマ時間でこつこつ作ってました。 クトゥルフっぽい世界観を目指した弾幕シューティングです。 30分くらいで終わるのでカジュアルに遊べます。 …

レーダースキャンしてるっぽいシェーダーを作りたかった(失敗)

やりたいことができてないんだけど、未来への糧のために記録として残しておきます 今後は失敗の記録もしていく所存・・! やりたかったこと 以前の記事で、遮蔽にキャラクターが隠れていても見えるようなレンダラを作成しました sakataharumi.hatenablog.jp …

Rendererを修正して遮蔽に隠れていてもオブジェクトが見える表現をする (by UniversalRenderPipeline)

遮蔽に隠れてもオブジェクトが見えるあの表現がしたい!と思ったのでやり方をまとめます。 (オクルージョン処理させない、みたいな表現が適切なんでしょうか) 具体的にどんな表現かといいますと、Apexのブラッドハウンドの戦術アビリティのような所謂"ウォ…

変位指定パラメータ「非変・共変・反変」と反変のつかいどころ

おはぽえ〜〜 先日、私の通っている女子高の同級生との会話で、Scalaの変位指定パラメータの話題になりまして。(イマドキのJKはScalaが流行中!) 変位指定パラメータって、どういうものかの解説はたくさんあるんだけど、どういう時に使うか?みたいな話が…

cats.effectのIOモナドとcontextshiftを丁寧に理解する

並行処理と並列処理 並行処理(concurrent processing) 1つのCPU(コア)スレッドを切り替えながら複数のタスクを実行すること。 人間の目には複数のタスクが同時に進んでいるように見える 実行するスレッドを切り替える必要があるのでコンテキストスイッチの…

Shaderやっていく〜異方性の鏡面反射〜

ちょっとVRまわりで遊びすぎてて更新が止まってしまいました。 前回に引き続き、シェーダーやっていきますーー 完成図 使用テクスチャ 異方性の鏡面反射 前回は等方性鏡面反射のシェーダーを実装してみました。これは滑らかな面を想定しており、どの角度から…

Shaderやっていく〜Phong反射とBlinn-Phong反射〜

完成図 (左から、Phong、BilinnPhong、Standard) Phong反射とは 前回は、拡散反射のみを扱う反射モデルであるランバート反射を取り扱いましたが、今回取り扱うPhong反射では鏡面反射も考慮することができます。 鏡面反射とは、一定方向からの光が別の一定…

Shaderやっていく〜ランバート反射〜

完成図 左がランバート反射のシェーダー。右がStandardシェーダー(Metallic、Smoothness共に0)になります。 光の当たっている方向は同じですが、影のつき方が全然違うことがわかります。 ランバート反射とは? Unity4まで標準としてランバート反射に基づく…

Shaderやっていく〜床に丸を書くやつ〜

完成図 考え方 1) 床のマテリアルに円を書くようなShaderを実装します 2) キャラクターの位置にその円がくるようスクリプトからパラメータを変更します あまり言及することはないのですが、強いて言うならShaderのプロパティをスクリプトから変更する、とい…

Shaderやっていく〜ホログラフィックシェーダー〜

今回は、ホログラフィックシェーダーを作っていきたいと思います。 ホログラフィックってゲームでかなり頻出する表現ですよね。 主に、服だけ透ける特殊能力者を伴うゲームでよくみます。 まずは完成図から。はるみちゃんの服をホログラフィックシェーダーに…

Shaderやっていく〜テクスチャを貼るだけのShader〜

はじめに Shaderを勉強してみようと思い、先日のGWでPacktから出ている「Unity2018 Shaders and Effects Cookbook」を一通り読んで動かしました。 で、まあ一回読んで動かしただけじゃ概ね理解できてないので、復習を兼ねて適当にピックアップしてアウトプッ…

【Django REST framework】POST時はForeignKeyをpkのみ指定し、GET時はネストしたオブジェクトを展開する

前置き 以下が、今回の例で使用するViewとModelです。 class PostViewSet(viewsets.ModelViewSet): authentication_classes = [FirebaseAuthentication] queryset = Post.objects.all() serializer_class = PostSerializer class Post(models.Model): user =…

RaidenNetworkを動かしてみたメモ

概要 RaidenNetworkはERC20に準拠したトークンをオフチェーンで高速に送受金できるような仕組みです。 BitCoinでいう「LignthingNetwork」のEthereum版に相当します。 低コスト、スケーラブル、プライバシーが保護される、といった特徴があります。 RaidenNe…