Как вы сказали, на данный момент в RealityKit есть 3 типа материалов: SimpleMaterial
, UnlitMaterial
и OcclusionMaterial
.
Так что вы можете попробовать следующий код, используя класс SimpleMaterial
:
var material = SimpleMaterial()
material.baseColor = try! .texture(.load(named: "image.jpg"))
material.metallic = MaterialScalarParameter(floatLiteral: 0.9)
material.roughness = MaterialScalarParameter(floatLiteral: 0.1)
/*
material.baseColor = MaterialColorParameter.color(UIColor(red: 0.7,
green: 0.5,
blue: 0.2,
alpha: 1.0))
*/
На данный момент в RealityKit есть 4 метода для создания простых 3D-примитивов: generateBox()
, generateSphere()
, generatePlane()
и generateText()
.
let mesh: MeshResource = .generateBox(size: 2.5)
let component = ModelComponent(mesh: mesh, materials: [material])
print("\(component.mesh.bounds)")
print("\(component.materials.count)")
PSНа данный момент у меня нет возможности протестировать этот код в iOS 13, но я надеюсь, что все в порядке.