12/8

日記

2025/12/08

Three.js

LeePerrySmithさんのテクスチャがなんか変?となった

Resource.tsフォルダで、normalテクスチャにもSRGBColorSpaceを適用していたのがだめだったっぽい。

1hくらい悩んじった。

参照ミスあるある

this.customUniforms = {
 uTime: {value: 0}
} //毎フレーム更新

this.material.onBeforeCompile = (shader) => {
 shader.uniforms.uTime = { value: this.customUniforms.uTime.value }; //動かない
 shader.uniforms.uTime = this.customUniforms.uTime; //動く
}

onBeforeCompile内の、上の方は新しいオブジェクトを作成しているだけなので、当然動かない。
下の方はuTimeへの参照を直接渡しているので、動く。

毎フレーム実行関数内でthis.material.uniformsに経過時間を代入しようとしてもshaderMaterialを使っていないmaterialのuniformsはundefinedでうまく行かないので、onBeforeCompileをつかってuniformsを入れる場合、この方式を取る必要がある。

気をつけようね。

ドロップシャドウ・コアシャドウ

ドロップシャドウは物体が落とす影。これは各光が別のレンダリングシーンを作成する。
MeshDepthMaterialが元になっている。

コアシャドウは物体自身の影。ライトはnormalを参考にしているんだから、normalを変える。

今日

うーん、今日あまり勉強できなくて、仕事時代を思い出した。
自分の時間の確保の仕方が下手な気がする。

Hmm, I didn't study enough time today, it reminded me of my working day.
I feel like I am not good at making time for myself.