ご回答いただきありがとうございます。
私はA-Frame、Three.js、Javascript、およびhtmlを学習しています。
あなたがA-Frameでやっていることは素晴らしいことです。影をキャストするメッシュ内の関数()
:以下を完了
、それは完璧ではないですが、今のところ、それは動作します:
registerComponentの初期化では
el.getObject3D( 'mesh')。castShadow = data.shadow;影を受信するためのメッシュで//data.shadow =真
:
el.getObject3D( 'メッシュ')receiveShadow = data.shadow。 //data.shadow =真のスポットライトで
:
this.spotlight = new THREE.SpotLight(data.colorm);
el.setObject3D('spotlight', this.spotlight);
el.getObject3D('spotlight').castShadow = data.shadow;
el.getObject3D('spotlight').shadow.camera.near = data.shadowcameranear;
el.getObject3D('spotlight').shadow.camera.far = data.shadowcamerafar;
el.sceneEl.systems.light.registerLight(el);
そして、シーンを使用してロードされたイベント:
function setShadows()
{
aframeRenderer.shadowMap.enabled = true;
aframeRenderer.shadowMap.type = THREE.PCFSoftShadowMap;
aframeRenderer.setClearColor(0x000000, 1.0);
aframeRenderer.setSize(window.innerWidth, window.innerHeight);
aframeRenderer.shadowMap.enabled = true;
threeSpotLight.shadowCameraNear = 0.01;
threeSpotLight.castShadow = true;
threeCube.castShadow = true;
threeCube.receiveShadow = false;
threePlane.castShadow = false;
threePlane.receiveShadow = true;
threeSpotLight.visible = true;
}
メッシュで有効にする必要がありますか? 'cubeEntity.getObject3D( 'mesh')'。 A-Frameのコアに影を付けるためのPRもありますhttps://github.com/aframevr/aframe/pull/2350 – ngokevin
おそらく 'plane.getObject3D( 'mesh')。material.needsUpdate = true'を試してみてください。 PR、tl; drは、A-Frameに実際のサポートを追加する過程にあります。 –