首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用ScnNode作为ScnLight?

如何使用ScnNode作为ScnLight?
EN

Stack Overflow用户
提问于 2017-11-01 21:25:45
回答 1查看 845关注 0票数 2
代码语言:javascript
复制
 var sun = SCNNode(geometry: SCNSphere(radius:0.35))

 sun.geometry?.firstMaterial?.diffuse.contents=#imageLiteral(resourceName: "Sun")

 sun.position=SCNVector3(0,0,-1)

我想用sun SCNSphere作为泛光灯。

代码语言:javascript
复制
 let OmniLight = SCNLight()      
  OmniLight.type = SCNLight.LightType.omni
       OmniLight.color = UIColor.white

但是如果我运行这段代码,太阳就是一片漆黑。

EN

回答 1

Stack Overflow用户

发布于 2017-11-02 07:02:20

将其添加到场景中:

代码语言:javascript
复制
scene.rootNode.addChildNode(sun)

以下是示例游乐场代码:

代码语言:javascript
复制
import UIKit
import SceneKit
import PlaygroundSupport


// create a scene view with an empty scene
var sceneView = SCNView(frame: CGRect(x: 0, y: 0, width: 640, height: 480))
var scene = SCNScene()
sceneView.scene = scene
PlaygroundPage.current.liveView = sceneView

// default lighting
sceneView.autoenablesDefaultLighting = false

// a camera
var cameraNode = SCNNode()
cameraNode.camera = SCNCamera()
cameraNode.position = SCNVector3(x: 0, y: 0, z: 3)
scene.rootNode.addChildNode(cameraNode)

// your code (minus the image)
var sun = SCNNode(geometry: SCNSphere(radius:0.35))
sun.geometry?.firstMaterial?.diffuse.contents = UIColor.orange
sun.position=SCNVector3(0,0,-1)
let OmniLight = SCNLight()
OmniLight.type = SCNLight.LightType.omni
OmniLight.color = UIColor.white

// add to scene
scene.rootNode.addChildNode(sun)
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47055935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档