我正在搜索将IBL添加到我的场景和对象中。但我无法在网上找到任何东西。有一些envMap的例子,但问题是envMap对象看起来像chrome ...
我发现您可以使用IBL(基于图像的照明),PRT(预计算辐射传输)或PBR(基于物理的渲染)。但是我无法知道如何在three.js中使用这样的效果。
[编辑]
使用MeshStandardMaterial
中的新r74dev
后,我可以获得以下结果:
(之前)
(后)
但我不能将MeshStandardMaterial
和envMap
与纹理结合使用。纹理或MeshStandardMaterial
dooesn工作。
答案 0 :(得分:2)
感谢WestLangley我正在使用MeshStandardMaterial
:
var objectGeometry = new THREE.SphereGeometry( 10, 100, 100 );
material = new THREE.MeshStandardMaterial({envMap : textureSkydome});
(r74dev)
答案 1 :(得分:0)
也许你可以使用光照贴图。您可以通过设置import Cocoa
class ProgressView: NSView {
@IBOutlet weak var progressIndicator: CustomLevelIndicator!
@IBOutlet weak var textValue: NSTextField!
func update(value: Double) {
dispatch_async(dispatch_get_main_queue()) {
self.progressIndicator.doubleValue = value
self.textValue.stringValue = "\(value)%"
}
}
}
将其与THREE.MeshPhongMterial
一起使用。重要 - 您需要在几何体中使用第二组UV才能使用光照贴图。
看看这个example。