takumifukasawa’s blog

WebGL, Shader, Unity, UE4

2021-01-01から1年間の記事一覧

WebWorkerではプライベートフィールドを渡すことができない

ちょっとハマったのでメモです。 WebWorkerのpostMessageでデータを送るとき、渡すことのできるデータとそうでないデータがあります。 これは構造化複製アルゴリズムが適用されているからです。たとえばFunctionオブジェクトは送ることができません。 develo…

【Photoshop】レイヤーモードのオーバーレイの原理

Photoshopのレイヤーモードには、加算、乗算など様々な種類があります。 下のレイヤーに対して上のレイヤーの色をどう重ねるかの方式の設定になります。 WebGLで言うところのBlendModeに近い処理ですね。 例えば加算を設定した結果どういう色になるかは、感…

【ffmpeg】ディレクトリ内の複数webmファイルを一括でmp4に変換

$ for i in *.webm; do ffmpeg -i "$i" "${i%.*}.mp4"; done を叩くことで一括変換できます。 もし mov にしたい場合は mp4 を mov に変更すればフォーマットが mov になります。

【Unity】ディゾルブシェーダーの境界からパーティクルを出す

紙に火をつけると、どんどん炎が広がり紙が燃えていき、やがて消えてなくります。 ディゾルブシェーダーの境界にあたる部分は、燃えている場所・焦げている場所にあたると思います。 その境界からなにかしらのパーティクルを出してみたいなと考えていて、今…

【Shell】Python2, Python3 のどちらのバージョンでも HTTP Server を立ち上げる Shell Script

簡易サーバーを立ち上げる際は python の HTTP Server を使うことが多いのですが、python2系とpython3系で微妙にコマンドが違います。 それぞれのバージョンで HTTP Server 用のモジュールが異なるためです。 具体的には、python3系だと python -m http.serv…

【Javascript】素のjsでシングルトンクラスを実装する(ver. 2021/7)

jsでシングルトン的なことを実現する場合、module や import / export を使用できる環境下では例えばこのように export でインスタンスを渡すことでシングルトン的な振る舞いをさせることができます。 module.exports = new Klass(); export default new Kla…

【Javascript】ビット演算で2の累乗判定する関数

2の累乗判定をするときに、ビット演算だとかなりシンプルになることを知ったのでそのメモになります。 こちらがその関数です。 const isPowerOfTwo = x => (x & (x - 1)) === 0 原理は以下のようなものです。 数値が2の累乗の場合は必ず最上位ビットのみが1…

【vscode】MacのUnity開発でC#の補完が動かなくなったので対処

MacのvscodeでUnity C#の補完が効かなくなったので原因を探りました。 起こっていたこと 環境は、 mac OS は big sur, unity は 2019.4.25f です。 vscode の Omnisharp Log を見てみると、大きく2つのエラーが発生していました。 Could not load file or as…

【Unity】Timelineで枠外に隠れたカーブの全体を表示するショートカット

現象 Timeline の graph view で key の位置やイージングの調整をしたいとき、下の画像のようにカーブ全体が表示されないという現象が度々発生して困ることが多くありました。 [Edit] -> [Shortcuts...] を覗いてみても、カーブ全体を表示するようなショート…

【Node.js】画像群を一括圧縮するスクリプト

画像圧縮をする際、jpegminiやimagealphaなどのアプリを使ったりPCにインストールしたcli経由で行うことが多かったのですが、これらの方法だと画像圧縮の方法がプロジェクトの各人に依存してしまうという問題があります。 そこで、画像圧縮ツールもnpmで管理…

サービスがクローズしたjsdoitのコードをgithub-pagesに移行するまで

1年半ほど前にクローズになった、jsdoitというソースコード共有サービスがあります。 サービスが稼働している時は500以上のコードを上げていて、サービスクローズ前に全てのコードをローカルに落として個人のgoogle driveに保管していたのですが、パッと見返…

【Javascript】Promiseを直列実行

内容は短めですが、よく使うのでそのメモになります。 複雑なアニメーションなど、とあるPromiseがresolveになったら違うPromiseの状態の監視を始めたい場合が頻繁にあります。 thenで繋いでもよいのですが、Promiseが増えるごとにthenの記述も合わせて増え…

【firebase】functions x hosting 環境でBasic認証をかけている時のBasic認証の挙動確認

firebase functions と firebase hosting を併用しているプロジェクトで Basic認証をかけている時の Basic認証の対象の挙動が分からなかったので確認しました。 firebase で Basic認証をかける firebase で Basic 認証をかけるためには functions を使用する…