在SceneKit中使用PBRLightingModel时如何将金属度设置为浮点值?

sam*_*bro 2 scenekit

在Xcode 8中,SceneKit编辑器允许您在使用SCNLightingModelPhysicallyBased时为metalness属性设置浮点值.选项包括Metallic,Dielectric,Float Value或图像.选择Metallic将metalness设置为1.选择Dielectric将其设置为0.

金属场景套件编辑器

金属度设置为1 的程序化等价物(如SceneKit编辑器中允许的那样)?metalness是一个只读属性.那么,我唯一的选择是将someMaterial.metalness.contents设置为金属贴图图像吗?

mnu*_*ges 6

一些材料属性,如metalnessroughness接受NSNumber他们的contents.

// Objective-C
material.roughness.contents = @0.5;
Run Code Online (Sandbox Code Playgroud)
// Swift
material.roughness.contents = NSNumber(value: 0.5)
Run Code Online (Sandbox Code Playgroud)

看起来在线文档尚未发现,但标题文档中SCNMaterialProperty包含此信息.