ios - Swift、SceneKit 和相机位置
问题描述
我正在开发一个显示 3D 人体的应用程序 - 在 SceneKit 编辑器中,我已将相机设置为指向模型。
正如我设置的sceneView.allowsCameraControl = true,用户可以通过简单的手势在对象周围移动、放大和缩小。
为了垂直移动,我实现了一个 UISlider - 我不希望用户用两个手指手势垂直平移。
在滑块操作中,我执行以下操作:
@IBAction func sliderDidMove(_ sender: UISlider) {
cameraNode = sceneView.scene?.rootNode.childNode(withName: "camera", recursively: true)
let vert = 1.5*(0.5 - sender.value)
cameraNode?.position.y = posY + vert
}
当我在加载 ViewController 后更改滑块位置时,这可以正常工作。但是一旦我通过手势旋转或缩放模型,滑块就不再显示效果 - 因此我不能再以编程方式更改相机节点的位置。
有谁知道我该如何解决这个问题?
解决方案
推荐阅读
- postgresql-9.3 - PostgreSQL - 通过 regexp_replace 函数更新自己字段中的数据
- python - 源 HTML 不可预测 - Python Scrapy
- android - 如何在 Android Compose 的 AndroidView 中动态更新 RecyclerView
- python - 在 matplotlib 中绘制 y=times(作为数据)与 x=dates:如何格式化所有日期的 y 轴?
- angular-cli - 'compilation' 参数必须是 Compilation 的一个实例
- reactjs - React - 将答案显示为列表
- html - 使用社交媒体共享链接可缩短 URL
- svg - svg 文件作为“application/octet-stream”而不是“image/svg+xml”上传
- python - 为什么 Python 的“\x1B[1A”不能在 Google Colab 中工作?它适用于我的其他调试器
- r - 在 PC 上未安装 LaTeX 的情况下从 RMarkdown 创建 TeX 文件