Adding a mesh to the scene graph by extending Node breaks in 0.7.0
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 35/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- javascript
調査の方向性
Vizzy waves ブランチと engine 0.7.0 を使用した新規 npm インストールでリグレッションを再現します。src/Grid.js と src/index.js を読み、Grid の構築、シーングラフへの配置、Background のセットアップに焦点を当てます。Node を拡張することで mesh を再び追加でき、背景が平面を隠さなくなれば完了です。
索引モデルが issue の本文から書いたものです。
説明
When working on my visualizer I had everything working in 0.6.2 (https://github.com/psyrendust/Vizzy/tree/feat/waves). But when doing a fresh npm installI'm getting seeing an issue in 0.7.0. I was able to get it partially working again in this branch (https://github.com/psyrendust/Vizzy/tree/bug/waves). Below are the changes I used to get things working again.
I also had to remove my background because it's placement in the scene graph is different and now cuts my plane in half only allowing you to see a small portion of the wave.
diff --git a/src/Grid.js b/src/Grid.js
index 29b1882..70450a4 100644
--- a/src/Grid.js
+++ b/src/Grid.js
@@ -53,13 +53,12 @@ const vizzyVS = Material.vizzyVS(null, {
}
});
-export default class Grid extends Node {
- constructor(audio) {
- super();
+export default class Grid {
+ constructor(node, audio) {
// gl_PointSize = 20.0;
-
- this
+ this.node = node;
+ this.node
.setAlign(0.5, 0.5, 0.5)
.setOrigin(0.5, 0.5, 0.5)
.setMountPoint(0.5, 0.5, 0.5)
@@ -71,9 +70,9 @@ export default class Grid extends Node {
this.clock = FamousEngine.getClock();
this.audio = audio;
- this.mesh = new Mesh(this);
+ this.mesh = new Mesh(this.node);
this.geometry = new DynamicGeometry();
- this.dragRotation = new DragRotation(this);
+ this.dragRotation = new DragRotation(this.node);
this.plane = new Plane({
detailY: this.audio.getData().TIMEBUFFER - 1,
diff --git a/src/index.js b/src/index.js
index ccb31e8..9db0d9d 100644
--- a/src/index.js
+++ b/src/index.js
@@ -29,12 +29,13 @@ class Background extends Node {
.setAlign(0.5, 0.5, 0.5)
.setOrigin(0.5, 0.5, 0.5)
.setMountPoint(0.5, 0.5, 0.5)
- .setProportionalSize(1, 1)
+ .setProportionalSize(1, 1, 1)
.setPosition(0, 0, 0);
this.opacity = new Opacity(this);
this.opacity.set(0);
this.el = new DOMElement(this, {
properties: {
+ 'z-index': '0',
width: '100%',
height: '100%',
background: "#00b9d7",
@@ -69,10 +70,10 @@ class Vizzy {
this.camera = new Camera(this.scene);
this.camera.setDepth(120);
this.root = this.scene.addChild()
- this.background = this.root.addChild(new Background());
+ // this.background = this.root.addChild(new Background());
this.lights = this.root.addChild(new Lights());
this.audio = new Audio(this.root);
- this.grid = this.root.addChild(new Grid(this.audio));
+ this.grid = new Grid(this.root.addChild(), this.audio);
this.data = {};
this.refreshRate = new RefreshRate(100);
this.id = this.root.addComponent(this);
@@ -80,17 +81,17 @@ class Vizzy {
}
onUpdate() {
this.data = this.audio.getData();
- this.refreshRate.throttle(() => {
- if (this.data.fftBufferFloat[0]) {
- if (this.data.fftBufferFloat[0][this.data.fftSize - 8] > -90) {
- this.background.show();
- } else {
- this.background.hide();
- }
- } else {
- this.background.hide();
- }
- });
+ // this.refreshRate.throttle(() => {
+ // if (this.data.fftBufferFloat[0]) {
+ // if (this.data.fftBufferFloat[0][this.data.fftSize - 8] > -90) {
+ // this.background.show();
+ // } else {
+ // this.background.hide();
+ // }
+ // } else {
+ // this.background.hide();
+ // }
+ // });
this.grid.updateItems(this.data);
this.root.requestUpdateOnNextTick(this.id);
}
- 主要言語
- JavaScript
- スター
- 1.7k
- フォーク
- 249
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
Famous/engine のほかの issue
-
mechronetechオープン
難易度 5/5 1週間以上 初心者へのやさしさ 5/100
-
car motors for saleオープン
難易度 5/5 1週間以上 初心者へのやさしさ 1/100
-
k20 engine for saleオープン
難易度 1/5 1時間未満 初心者へのやさしさ 1/100
-
#THEREISNOSPOONオープン
難易度 5/5 1週間以上 初心者へのやさしさ 10/100
-
難易度 5/5 1週間以上 初心者へのやさしさ 10/100
似ている issue
-
enhancement good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
anoopcodehack/DevBoard#609 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
openai/codex-plugin-cc#813 ·
-
area: ops type: test
難易度 2/5 1〜3時間 初心者へのやさしさ 79/100
accensa/x402-facilitator-stellar#559 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
bilawalsidhu/gods-eye-view#1060 ·
メンテナーはふだん 1 日以内に返信
-
Progress difficulty filter lists Hard before Medium対応中かも @Pandamachi が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
sysprog21/codetrial#281 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信