作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个 ARKit 项目,该项目在水平平面上点击时需要波纹动画效果。为此,我采用了 UIView 对象并将其作为 SCNPlane 对象 Material 的内容传递。我已将 Ripple 动画添加到 UIView 对象。一切正常。但我无法将 SCNPlane 颜色更改为清晰颜色。我可以为 Material 使用透明度属性。但它也隐藏了 Ripple 动画。所以,我在这里需要的是,SCNPlane 对象的背景颜色应该是透明的,并且应该只向用户显示 Ripple 动画。有人可以帮我解决这个问题。
这是我的代码。
let location = tapGesture.location(in: self.sceneView)
let results = self.sceneView.hitTest(location, types: .existingPlane)
if !results.isEmpty{
guard let result = results.first else{ return }
let myUIView = UIView(frame: CGRect(origin: .zero, size: CGSize(width: 300, height: 300)))
myUIView.backgroundColor = .red
let plane = SCNPlane(width: 1.0, height: 1.0)
plane.firstMaterial?.diffuse.contents = myUIView
let planeViewNode = SCNNode(geometry: plane)
planeViewNode.eulerAngles.x = Float(-Double.pi / 2)
planeViewNode.position = SCNVector3(result.worldTransform.columns.3.x, result.worldTransform.columns.3.y, result.worldTransform.columns.3.z)
self.sceneView.scene.rootNode.addChildNode(planeViewNode)
//Ripple animation code goes here
}
最佳答案
退房 this回答。设置 UiView
isOpaque
至 false
为我工作。
关于ios - 如何将 SCNPlane 颜色更改为清晰颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50368057/
我是一名优秀的程序员,十分优秀!