JKになりたい

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

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に該当するデータしか取得することはできな…