
已更新:2020年6月23日 。
目前,RealityKit 2.0中有4种类型的材料 :
- 简单材质
- 不发光材料
- 咬合材料
- VideoMaterial(查看此帖子以了解如何进行设置)
因此,您可以将以下代码用于一个
SimpleMaterial()类:
@IBOutlet var arView: ARView!let sceneObjects = try! Experience.loadAllMyObjects()var simpleMaterial = SimpleMaterial()simpleMaterial.baseColor = try! MaterialColorParameter.texture( TextureResource.load(named: "img.jpg"))simpleMaterial.metallic = MaterialScalarParameter(floatLiteral: 0.9)simpleMaterial.roughness = MaterialScalarParameter(floatLiteral: 0.1)simpleMaterial.tintColor = UIColor.yellow
目前,RealityKit中只有4种方法可以创建简单的3D图元:
generateBox()
generateSphere()
generatePlane()
generateText()
因此,让我们使用其中之一:
如何在RealityKit中生成SceneKit的着色器let mesh: MeshResource = .generateBox(size: 2.5)let component = ModelComponent(mesh: mesh, materials: [simpleMaterial])sceneObjects.components.set(component)arView.scene.anchors.append(sceneObjects)
我们知道在SceneKit中有5种不同的着色模型,因此我们可以使用RealityKit
SimpleMaterial并
UnlitMaterial生成我们习惯的所有这五个着色器。
让我们看一下它的样子:
SCNMaterial.LightingModel.blinn – SimpleMaterial(color: . gray, roughness: .float(0.5), ismetallic: false)SCNMaterial.LightingModel.lambert – SimpleMaterial(color: . gray, roughness: .float(1.0), ismetallic: false)SCNMaterial.LightingModel.phong – SimpleMaterial(color: . gray, roughness: .float(0.0), ismetallic: false)SCNMaterial.LightingModel.physicallybased – SimpleMaterial(color: . gray, roughness: .float(0.0), ismetallic: true)SCNMaterial.LightingModel.constant – UnlitMaterial(color: .gray)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)