热卖商品
新闻详情
RealityKit –以编程方式将材料添加到ModelEntity - IT屋-程序员...
来自 : www.it1352.com/18308...html
发布时间:2021-03-25
RealityKit的文档包括以下结构: OcclusionMaterial , SimpleMaterial 和 UnlitMaterial 用于向 ModelEntity 添加材料。
或者,您可以在模型中加载带有附加材料的模型。
我想以编程方式向 ModelEntity 添加自定义材料/纹理。如何在不向Reality Composer或其他3D软件的模型中添加材料的情况下即时实现这一目标?
解决方案
已更新:2020年6月23日。
目前RealityKit 2.0中有4种类型的材料 :
简单材料
UnlitMaterial
遮挡材料
视频资料(请参见这篇文章以了解如何进行设置)
因此,您可以将以下代码与 SimpleMaterial()类:
@IBOutlet var arView:ARView!
让sceneObjects =试试! Experience.loadAllMyObjects()
var simpleMaterial = SimpleMaterial()
simpleMaterial.baseColor =试试! MaterialColorParameter.texture(
TextureResource.load(named:\" img.jpg\"))
simpleMaterial.metallic = MaterialScalarParameter(floatLiteral:0.9)
simpleMaterial.roughness = MaterialScalarParameter( floatLiteral:0.1)
simpleMaterial.tintColor = UIColor.yellow
/ *
simpleMaterial.baseColor = MaterialColorParameter.color(UIColor(red:0.7,
绿色:0.5,
蓝色:0.2,
alpha:1.0))
* /
目前,RealityKit中只有4种方法可以创建简单的3D图元:
generateBox()
generateSphere()
generatePlane( )
generateText()
所以l等使用其中之一:
让网格:MeshResource = .generateBox(size:2.5)
let component = ModelComponent (网格:网格,
材质:[simpleMaterial])
sceneObjects.components.set(component)
arView.scene.anchors.append(sceneObjects)
如何在RealityKit中生成SceneKit的着色器
我们知道在SceneKit中有5种不同的着色模型,因此我们可以使用RealityKit的 SimpleMaterial 和 UnlitMaterial 生成我们已经习惯了这五个着色器。
让我们看看它的外观:
SCNMaterial.LightingModel.blinn – SimpleMaterial(颜色:。灰色,
粗糙度:.float(0.5),
isMetallic:false)
SCNMaterial.LightingModel.lambert – SimpleMaterial(颜色:。灰色,
粗糙度:。 float(1.0),
isMetallic:false)
SCNMaterial.LightingModel.phong – SimpleMaterial(颜色:。灰色,
粗糙度:.float(0.0),
isMetallic:否)
SCNMaterial.LightingModel.physicallyBased – SimpleMaterial(颜色:。灰色,
粗糙度:.float(0.0),
isMetallic:真实)
SCNMaterial.LightingModel.constant – UnlitMateri al(颜色:.gray)
本文地址:IT屋 RealityKit –以编程方式将材料添加到ModelEntity
本文链接: http://lambertsimp.immuno-online.com/view-771048.html
发布于 : 2021-03-25
阅读(0)
最新动态
2021-03-25
2021-03-25
2021-03-25
2021-03-25
2021-03-25
2021-03-25
2021-03-25
2021-03-25
2021-03-25