soiz commited on
Commit
d3f1ed4
·
verified ·
1 Parent(s): a0e0c36

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +6 -5
index.html CHANGED
@@ -65,21 +65,19 @@
65
 
66
  function create3DScene() {
67
  if (renderer) {
68
- // 既存のシーンをクリア
69
  cancelAnimationFrame(animationFrameId);
70
  cubes.forEach(cube => scene.remove(cube));
71
  cubes = [];
72
  renderer.dispose();
73
  }
74
 
75
- // Three.jsの基本設定
76
  scene = new THREE.Scene();
77
  camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
78
  camera.position.set(300, 300, 300);
79
  camera.lookAt(new THREE.Vector3(0, 0, 0));
80
  renderer = new THREE.WebGLRenderer();
81
  renderer.setSize(window.innerWidth, window.innerHeight);
82
- document.getElementById('scene-container').innerHTML = ''; // 既存のcanvasを削除
83
  document.getElementById('scene-container').appendChild(renderer.domElement);
84
 
85
  createCubesFromImage();
@@ -95,8 +93,12 @@
95
  const r = imageData[index];
96
  const g = imageData[index + 1];
97
  const b = imageData[index + 2];
98
- const color = new THREE.Color(`rgb(${r},${g},${b})`);
 
 
 
99
 
 
100
  const geometry = new THREE.BoxGeometry(cubeSize, cubeSize, cubeSize);
101
  const material = new THREE.MeshBasicMaterial({ color: color });
102
  const cube = new THREE.Mesh(geometry, material);
@@ -129,7 +131,6 @@
129
  }
130
 
131
  function replayAnimation() {
132
- // アニメーションの再生をリセット
133
  create3DScene();
134
  }
135
  </script>
 
65
 
66
  function create3DScene() {
67
  if (renderer) {
 
68
  cancelAnimationFrame(animationFrameId);
69
  cubes.forEach(cube => scene.remove(cube));
70
  cubes = [];
71
  renderer.dispose();
72
  }
73
 
 
74
  scene = new THREE.Scene();
75
  camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
76
  camera.position.set(300, 300, 300);
77
  camera.lookAt(new THREE.Vector3(0, 0, 0));
78
  renderer = new THREE.WebGLRenderer();
79
  renderer.setSize(window.innerWidth, window.innerHeight);
80
+ document.getElementById('scene-container').innerHTML = '';
81
  document.getElementById('scene-container').appendChild(renderer.domElement);
82
 
83
  createCubesFromImage();
 
93
  const r = imageData[index];
94
  const g = imageData[index + 1];
95
  const b = imageData[index + 2];
96
+ const a = imageData[index + 3]; // アルファチャンネルの値
97
+
98
+ // 透明ピクセル(a=0)をスキップ
99
+ if (a === 0) continue;
100
 
101
+ const color = new THREE.Color(`rgb(${r},${g},${b})`);
102
  const geometry = new THREE.BoxGeometry(cubeSize, cubeSize, cubeSize);
103
  const material = new THREE.MeshBasicMaterial({ color: color });
104
  const cube = new THREE.Mesh(geometry, material);
 
131
  }
132
 
133
  function replayAnimation() {
 
134
  create3DScene();
135
  }
136
  </script>