mirror of
https://github.com/misskey-dev/misskey.git
synced 2026-07-29 20:34:37 +02:00
wip
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
// TODO: pure barrel importが機能しない問題をbabylonに報告
|
||||
// TODO: meshをdiposeした際、scene.meshesやshadowmapのrenderlistからも明示的に削除しないとメモリリークするのかどうかbabylonのforumで尋ねる
|
||||
// TODO: 起動時、ひとつでもcustom imageの読み込みに失敗したら「一部の画像を読み込めませんでした」を出す
|
||||
// TODO: 座ると一升瓶のマテリアルがおかしくなる現象をbabylonに報告
|
||||
|
||||
import * as BABYLON from '@babylonjs/core';
|
||||
import { registerBuiltInLoaders } from '@babylonjs/loaders/dynamic';
|
||||
@@ -1157,6 +1158,26 @@ export class RoomEngine extends EngineBase<{
|
||||
this.selectFuniture(null);
|
||||
}
|
||||
|
||||
public sit() {
|
||||
this.isSitting = true;
|
||||
this.sr.disableSnapshotRendering();
|
||||
this.fixedCamera.parent = null;
|
||||
this.fixedCamera.position = new BABYLON.Vector3(this.camera.position.x, cm(80), this.camera.position.z);
|
||||
this.fixedCamera.rotation = new BABYLON.Vector3(this.camera.rotation.x, this.camera.rotation.y, this.camera.rotation.z);
|
||||
this.scene.activeCamera = this.fixedCamera;
|
||||
this.sr.enableSnapshotRendering();
|
||||
}
|
||||
|
||||
public lyingDown() {
|
||||
this.isSitting = true;
|
||||
this.sr.disableSnapshotRendering();
|
||||
this.fixedCamera.parent = null;
|
||||
this.fixedCamera.position = new BABYLON.Vector3(this.camera.position.x, cm(20), this.camera.position.z);
|
||||
this.fixedCamera.rotation = new BABYLON.Vector3(-(Math.PI / 2) + 0.001, this.camera.rotation.y, this.camera.rotation.z);
|
||||
this.scene.activeCamera = this.fixedCamera;
|
||||
this.sr.enableSnapshotRendering();
|
||||
}
|
||||
|
||||
public standUp() {
|
||||
this.isSitting = false;
|
||||
this.scene.activeCamera = this.camera;
|
||||
|
||||
@@ -599,10 +599,14 @@ function showCharacterMenu(ev: PointerEvent) {
|
||||
os.popupMenu([{
|
||||
text: i18n.ts._miWorld.sit,
|
||||
action: () => {
|
||||
controller.sit();
|
||||
canvas.value!.focus();
|
||||
},
|
||||
}, {
|
||||
text: i18n.ts._miWorld.lyingDown,
|
||||
action: () => {
|
||||
controller.lyingDown();
|
||||
canvas.value!.focus();
|
||||
},
|
||||
}], ev.currentTarget ?? ev.target);
|
||||
}
|
||||
|
||||
@@ -222,6 +222,14 @@ export class RoomController extends EngineControllerBase<RoomEngine, {
|
||||
this.call('interact', [this.selected.value!.furnitureId, id]);
|
||||
}
|
||||
|
||||
public sit() {
|
||||
this.call('sit');
|
||||
}
|
||||
|
||||
public lyingDown() {
|
||||
this.call('lyingDown');
|
||||
}
|
||||
|
||||
public standUp() {
|
||||
this.call('standUp');
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user