- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在 Swift 中使用 RealityKit 加载 USDZ 模型。模型加载良好,具有纹理。
但是,我无法更改 Material 的漫反射属性, Material 总是返回 AnyMaterial
.
我可以用 SimpleMaterial
完全覆盖 Material 或者我可以在运行应用程序之前更改 USDZ 漫反射颜色,但在运行时似乎无法做到这一点,有什么想法吗?
我只想能够改变一个属性
/*
Find an entity within the parent, and find the material, test to try and change it's material
**/
private func updateColor(entity: Entity) {
guard
let found = entity.findEntity(named: "MyItem"),
var modelComponent = found.components[ModelComponent] as? ModelComponent,
let existingMaterial = modelComponent.materials.first else {
return
}
// This is `AnyMaterial` - no diffuse property
// What can I use here to change the diffuse?
modelComponent.materials = [existingMaterial]
// Change to yellow for testing
//var material = SimpleMaterial()
//material.baseColor = .color(.yellow)
//modelComponent.materials = [material]
found.components.set(modelComponent)
}
最佳答案
在 RealityKit 1.0 中,您可以在运行时更改 Material ,但不能 animate它的参数。
这是一个代码:
class ViewController: UIViewController {
@IBOutlet var arView: ARView!
override func viewDidLoad() {
super.viewDidLoad()
let modelAnchor = try! Experience.loadBox()
modelAnchor.steelBox!.scale = [10,10,10]
let entity: Entity = modelAnchor.steelBox!.children[0]
arView.scene.anchors.append(modelAnchor)
DispatchQueue.main.asyncAfter(deadline: .now() + 2.5) {
var material = SimpleMaterial()
material.baseColor = try! .texture(.load(named: "texture.jpg"))
var component: ModelComponent = entity.components[ModelComponent]!.self
component.materials = [material]
entity.components.set(component)
}
}
}
var material = SimpleMaterial()
material.color = .init(tint: .green, texture: nil)
关于swift - RealityKit 在运行时更改 USDZ 漫反射 Material ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62375385/
我想在检测到的平面上绘制网格点,如 ARCore video link 中所示我不知道如何实现它。 你能帮我实现这个目标吗?提前致谢。 最佳答案 ARKit中的经典网格可视化|RealityKit 在
我不知道如何让下面的移动函数重复,以便在简单的 meshResource 上创建一个恒定的旋转。有什么建议吗? var transform = sphereEntity.transform trans
我正在尝试在我的 RealityKit AR 场景中添加光照。我在 Reality Composer 中找不到光照选项。如果有办法添加 Directional Light 或对其进行编辑,请告诉我。我
RealityKit 有很多有用的功能,比如通过网络内置的多用户同步来支持共享世界,但我似乎找不到太多关于在运行时创建网格/对象的文档。 RealityKit 有一些基本的网格生成功能(长方体、球体等
在加载 Experience 后,我在 Reality Composer 中为人脸 anchor 添加了内容。我在 Reality Composer 上创建的,我创建了一个像这样的面部跟踪 sessi
在与 ARKit 类似的 RealityKit 中,物体在相机检测到某种平面之前不会显示。一旦相机检测到该表面,对象将显示并固定在该表面上。 我如何(通过代码)知道相机是否检测到平面?实际上,我想突出
我从 Xcode 的默认 AR 项目开始做这个增强现实项目。 我需要知道 ARKit 使用的相机的焦距。 This page很好地定义了焦距: Focal length, usually repres
通过在 model 上设置 Material 的颜色ModelEntity 的属性,我可以改变对象的不透明度/alpha。但是你如何制作这个动画呢?我的目标是为具有完全不透明度的对象设置动画,然后让它
此代码有效: let entity = try! Entity.load(named: "toy_robot_vintage") anchorEntity.addChild(entity) 但这不是:
我正在使用 ARKit 3 和 RealityKit 开发 iOS 应用程序。我想在包含图像的房间内创建虚拟 2d 平面。因此我使用了 Adding a material to a ModelEnti
此代码有效: let entity = try! Entity.load(named: "toy_robot_vintage") anchorEntity.addChild(entity) 但这不是:
我有一个自定义的 usdz 文件(不是通过代码创建的,而是一把真正的椅子!)。我将其保存在 Entity 中。 一旦我有了它,这就是我的代码: func updateUIView(_ uiView:
我想显示图库中的图片。我正在使用 imagePicker 加载图像。 func imagePickerController(_ picker: UIImagePickerController, did
我在 Reality Composer 中构建了一个场景,并在其中添加了 3 个对象。问题是阴影太强烈(暗)。 我尝试在 this 的 RealityKit 中使用定向光回答而不是来自 Reality
我想从我的场景中删除一个实体。 我在 UpdateUIView 函数中创建了我的实体,如下所示: // create anchor and model-Entity let anchor = Anch
在我的 previous question我已经找到了如何仅在对象上的一个轴上进行旋转变换,现在我希望将其设置为动画。 有没有办法在 RealityKit 中做到这一点? 最佳答案 带动画的旋转: c
我无法发布我的 RealityKit ARView()从内存里。 我知道 ARKit + SceneKit 有(是?)类似的问题——有这样的解决方法:https://stackoverflow.com
我正在尝试使用 Reality Kit 玩增强现实。 我想让我的程序执行以下操作之一, 可由用户 选择: 仅检测水平表面。 仅检测垂直表面。 检测水平和垂直表面。 检测图像,就像我打印目标一样,附加到
我正在尝试围绕其 z 轴旋转一个立方体,但我找不到方法。 RealityKit 有没有办法做到这一点? 最佳答案 在 RealityKit 中,至少有三种方法可以绕单轴旋转对象 . 在每个示例中,我们
对于 SCNNodes,我们有 SCNBillboardConstraint ,那么有什么方法可以将此约束应用于实体(使用 RealityKit 而不是 SceneKit 时),以便实体在设备移动时始
我是一名优秀的程序员,十分优秀!