Подсветить вращающуюся сферу из указанной c точки в xcode - PullRequest
0 голосов
/ 22 января 2020

Я начал работать над приложением, и основная идея c состоит в том, чтобы отобразить сферу, которую пользователь может вращать. У меня не было проблем с импортом .dae файла моей сферы. Когда я добавляю освещение любого вида (omni, area, directional et c.) В граф сцены, после запуска моего приложения свет освещает только одну указанную c часть сферы и вращается вместе со сферой. Я хочу иметь возможность вращать свою сферу, чтобы свет оставался в определенном c месте, чтобы у меня был эффект, подобный солнцу и земле. При вращении сферы должна освещаться только область, обращенная к солнцу / свету.

enter image description here

let scene = SCNScene(named: "art.scnassets/untitled")!

    let cameraNode = SCNNode()
    cameraNode.camera = SCNCamera()
    cameraNode.position = SCNVector3(x:0, y:0, z: 100)
    scene.rootNode.addChildNode(cameraNode)

    let sceneView = self.view as! SCNView
    sceneView.scene = scene
    sceneView.showsStatistics = true
    sceneView.backgroundColor = UIColor.white
    sceneView.allowsCameraControl = true

1 Ответ

0 голосов
/ 23 января 2020

Вы, вероятно, добавляете узел света в качестве дочернего узла сферы, поэтому, когда сфера вращается, свет вращается вместе с ней. Попробуйте добавить источник света в родительский узел сферы, чтобы источник света оставался в том же положении, потому что вы будете вращаться только со сферой, а не со светом.

...