如何将图像以圆形方式环绕SCNTube?

问题描述 投票:0回答:1

我想制作一个被图像以圆形方式包裹的土星环,所以它看起来很真实。 Sphere 完全没问题,唯一的问题是环节点。

我想要什么:

enter image description here

我尝试过的:

let saturnRingNode = scene?.rootNode.childNode(withName: "saturn_ring", recursively: true)
let ring = UIImage(named: "saturn_ring")
saturnRingNode?.geometry?.firstMaterial?.diffuse.contents = ring

这是我的

saturn_ring
图片:

enter image description here

看起来怎么样:

enter image description here

我还尝试按以下代码旋转材料。但我认为它不是以循环方式呈现。它只是改变线条的方向。

if let material = saturnRingNode?.geometry?.firstMaterial {
    material.diffuse.contentsTransform = SCNMatrix4MakeRotation(Float.pi / 2, 0, 0, 1) 
}

我尝试过AI工具、苹果开发者社区,但没有找到任何东西。

ios scenekit scnnode scnmaterial
1个回答
0
投票

我将

tube
替换为
torus
并将纹理图像旋转 90 度。 XCode 自己完成了映射。

let saturnRingNode = scene?.rootNode.childNode(withName: "saturn_ring", recursively: true)
let ring = UIImage(named: "saturn_ring")
saturnRingNode?.geometry?.firstMaterial?.diffuse.contents = ring

如何控制这个环面的高度?

  1. 选择环节点
  2. Node inspector
    >
    Transforms
    > 将
    Y
    刻度设置为
    0

看起来怎么样?

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.