1
0
mirror of https://github.com/misskey-dev/misskey.git synced 2026-05-13 16:25:44 +02:00
This commit is contained in:
syuilo
2026-04-23 18:11:54 +09:00
parent abfa67965e
commit eeda7e7002

View File

@@ -107,17 +107,15 @@ export const tabletopDigitalClock = defineObject({
timer.setInterval(() => {
const onMeshes = get7segMeshesOfCurrentTime(segmentMeshes);
// 本当ならisVisibleで制御したいが、snapshot renderingではvisibilityはupdateMeshを呼んだとしても反映されないのと、もしsnapshot rendering開始時にisVisible: falseだったらドローコールが記録されずその後表示できないので、メッシュを後ろにずらすことで隠す
// https://forum.babylonjs.com/t/visibility-of-instancedmesh-is-not-reflected-under-fast-snapshot-rendering/63251/3?u=syuilo
// また、scalingを0にすることでも見た目上非表示にすることはできるが、なぜかその状態でsnapshot renderingが開始されるとその後にscaleを戻しても表示されなくなる(バグ?)
for (const mesh of Object.values(segmentMeshes)) {
const isVisible = onMeshes.includes(mesh);
// 本当ならisVisibleで制御したいが、snapshot renderingではvisibilityはupdateMeshを呼んだとしても反映されないのと、もしsnapshot rendering開始時にisVisible: falseだったらドローコールが記録されずその後表示できないので、メッシュを後ろにずらすことで隠す
//mesh.isVisible = isVisible;
mesh.position.y = isVisible ? defaultSegMeshDepth : defaultSegMeshDepth - cm(2);
}
for (const mesh of colonMeshes) {
const isVisible = Date.now() % 2000 < 1000;
// 本当ならisVisibleで制御したいが、snapshot renderingではvisibilityはupdateMeshを呼んだとしても反映されないのと、もしsnapshot rendering開始時にisVisible: falseだったらドローコールが記録されずその後表示できないので、メッシュを後ろにずらすことで隠す
//mesh.isVisible = isVisible;
mesh.position.y = isVisible ? defaultSegMeshDepth : defaultSegMeshDepth - cm(2);
}