女子高生になりたい

はるみちゃんのブログだよ。えへへ。

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…

意図せずstorage領域が書き換えられてしまう2大パターン

はじめに Solidityでは意図せずstorage領域を書き換えられてしまう可能性があります。 アクセス修飾子は関係ありません。privateな変数であっても脆弱性のあるコードを書くと簡単に書き換えられてしまいます。 今回はstorage領域が意図せず書き換えられてし…

ethernaut #12 Privacy を解く

ethernautについて ethernautはスマートコントラクトの脆弱性を発見し、攻撃するシミュレーションができるプラットフォームです。 Ethereumスマートコントラクト開発者にはお馴染みのOpenZeppelinが提供してくれています。 遊び方は簡単。脆弱性のあるスマー…

Plasmaについてチームで共有したのでその時の資料を共有します

Plasma全然わかんないんですけど、チームでPlasmaについて少し話したのでその時の資料を共有します。 間違っている部分とか結構あると思うんで、なにかあればTwitterにDMなど貰えると嬉しいです。 さかた(JK) (@a1234224576a) | Twitter speakerdeck.com う…

CognitoIDPool+CognitoUserPool+外部IDProviderで独自認証とSNS認証を実装し、アカウントに対してDynamoDBの行レベルアクセス制限をかける

AWS

内容 メールアドレス+パスワード認証、Facebook認証によりサインインし、AWSサービスの一時的なアクセス権限を取得する。 それを使って、DynamoDBにアクセスしてデータを取得する。 ただし、DynamoDBには自分のIDに該当するデータしか取得することはできな…

AWS KeyManagementService

AWS

AWS KeyManagementServiceについて調査したので、そのときのメモ書きを置いておきます。 KeyManagementServiceというサービス単体で存在しているわけではないので、サービス検索でKMSなど入力しても出てこないので注意>< IAM→暗号化キーからKMSのコンソー…

uportを使ったデモアプリ、イーサリアム神社を公開しました

なかなかuportを活用したサービス、アプリは多くないと思います。 そこで今回、upotを体験できるようなデモアプリを作ってみました。 それが、イーサリアム神社です。 アプリ自体はとても単純なものです。 uportでログインし、etherを添えて神様にお祈りする…

uPort活用するためにとりあえずデモアプリを紐解く

uPortとは uPortは個人に紐づく情報をブロックチェーン上に保存しておき、こちらが承認した相手に対してのみ一部を公開するといった仕組みを実現するものになります。 例えば、今までなら住所などの個人情報をAmazon、楽天、その他ECサイト全てにおいて提供…

web3のAPIを把握するためVue.jsでEthereumWallet作ってみた

最近ERC20とERC721の実装をしたので、次はクライアントサイドの実装も一通り試したいと思いまして、簡単なEthereumのウォレットアプリを実装しました。 今回JavaScriptフレームワークはVue.jsを採用したんですが、大した理由はなく、触った事がなかったので…

ERC721に準拠したトークンをフルスクラッチ実装する

ERC721は価値の交換が不可能なトークン。詳細は他の記事で。 NFT(Non Fungible Token)という略称を使います。 EIPはこちら。最近(一月前くらい?)StatusがFinalになったようです! EIPs/eip-721.md at master · ethereum/EIPs · GitHub 今回も学習のため自…

ERC20に準拠したトークンの実装とテスト、あと脆弱性の話

この記事の内容 ・ERC20に準拠したトークンを実装して、テストを書いた ・どうやらERC20には脆弱性があるらしいのでそれについても調べた ・最後にRopstenテストネットワークにトークンをデプロイした 概要 OpenZeppelinを使えば簡単にERC20に準拠したトーク…

モナドトランスフォーマーを使ってモナドを合成する

ネストしたモナドの取り扱い モナドがネストして帰ってくることがあります。 例えば、DBに接続してユーザレコードを取り出す時、DBに接続できたかどうかを表すEither、該当のユーザがいたかどうかを表すOptionのモナドがネストして帰ってくるケースを考えて…