Orillusion/orillusion

[BUG]: SphereReflection 方式获取解决光照,split-sum的方式还需要使用吗?

Opened this issue · 5 comments

能够提供完善的SphereReflection 的示例,split-sum还会使用吗? 同时想您请教一下,我们的间接光照将会如何完善?

这个是我们新加的功能,目前还在完善过程中,还没有官方的开放给开发者使用,感谢持续深入的关注我们的源码。后续我们完善后,也会官方提供一些Sample。

关于间接光照,可以提供一些具体的问题描述么?

orillusion 的效果

orillusion.PBR.mp4

`
let ball = new Object3D();
let mat = new LitMaterial();
mat.baseMap = await Engine3D.res.loadTexture('PBR/copper-rock/copper-rock1-alb.png')
mat.normalMap = await Engine3D.res.loadTexture('PBR/copper-rock/copper-rock1-normal.png')
mat.maskMap = await Engine3D.res.loadTexture('PBR/copper-rock/copper-rock1-mask.png')

    let mr = ball.addComponent(MeshRenderer);
    mr.geometry = geometry;
    mr.material = mat;
    this.scene.addChild(ball)

`

threejs 的效果

threejs.PBR.mp4

`
let material = new THREE.MeshPhysicalMaterial( {
// clearcoat: 1.0,
// clearcoatRoughness: 0.1,
// metalness: 0.0,
// roughness: 0.0,
// color: 0x0000ff,
// normalMap: normalMap3,
// normalScale: new THREE.Vector2( 0.15, 0.15 )
} );

						material.map = textureLoader.load('textures/copper-rock/copper-rock1-alb.png');
						material.normalMap = textureLoader.load('textures/copper-rock/copper-rock1-normal.png');
						material.roughnessMap = textureLoader.load('textures/copper-rock/copper-rock1-rough.png');
						material.metalnessMap = textureLoader.load('textures/copper-rock/copper-rock1-metal.png');
						material.aoMap = textureLoader.load('textures/copper-rock/copper-rock1-ao.png');

`

所有用的材质

copper-rock1-metal
copper-rock1-normal
copper-rock1-alb
copper-rock1-ao
copper-rock1-height
copper-rock1-mask
copper-rock1-rough

与threejs 相比看上去不够真实, 间接光照IBL相对于orillusion v0.7.2版本有所下降,希望能够得到更好的效果,更好的性能!,加油Orillusion的兄弟们。

非常感谢!如果方便,可以加一下小欧的微信~

我们暂时不支持clearCoatMap~

可以参考这个Sample: https://github.com/Orillusion/orillusion/blob/main/samples/material/Sample_ClearCoat.ts

把更多的材质球信息暴露出来,然后调节参数看看是否可以达到想要的效果~

threejs 的案例误导您了,我是用了threejs的这个案例,用那个比较粗糙的球做对比,这里对比中没有使用clearCoat,需要和您咨询的是关于IBL相关的内容,如题