首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >可以用鲜红的SCNSpotlight画出清晰的SCNSphere吗?

可以用鲜红的SCNSpotlight画出清晰的SCNSphere吗?
EN

Stack Overflow用户
提问于 2016-09-14 13:50:20
回答 1查看 1.6K关注 0票数 2

在过去的几天里,我对SceneKit有点纠结。我正在尝试绘制一个带有红色聚光灯的清晰/透明的SCNSphere。如果我将SCNSphere设置为透明/透明颜色,我的红色聚光灯似乎也变得透明。是否可以取消SCNLight节点与SCNSphereNode的链接,以便如果SCNSphere是透明的,则聚光灯的鲜红色保持不变?两个球体的图像都在代码下面。

我的代码:

代码语言:javascript
运行
AI代码解释
复制
func setupView() {
    scene = SCNScene()
    caliView.scene = scene
    caliView.allowsCameraControl = true
    caliView.backgroundColor = UIColor.clearColor()
    let clearMaterial = SCNMaterial()
    clearMaterial.diffuse.contents = UIColor(white: 0.9, alpha: 0.5)
    clearMaterial.locksAmbientWithDiffuse = true


    let shape = SCNSphere(radius: 5)
    shape.materials = [clearMaterial]
    let shapeNode = SCNNode(geometry: shape)

    let spotLight = SCNLight()
    spotLight.type = SCNLightTypeSpot
    spotLight.color = UIColor.init(colorLiteralRed: 180, green: 0, blue: 0, alpha: 0.0)
    let lightNode = SCNNode()
    lightNode.light = spotLight

    lightNode.position = SCNVector3(x: 0.0, y:0.0, z:15.0)
    lightNode.orientation = SCNQuaternion(x: 0.0, y:0, z:30, w:0.0)


    let ambientLight = SCNLight()
    ambientLight.type = SCNLightTypeAmbient
    ambientLight.color = UIColor(white: 0.8, alpha: 0.2)
    let ambientNode = SCNNode()
    ambientNode.light = ambientLight

    shapeNode.position = SCNVector3(x: 0.0, y: 0.0, z: 0.0)

    scene.rootNode.addChildNode(ambientNode)
    scene.rootNode.addChildNode(shapeNode)
    shapeNode.addChildNode(lightNode)


    }

带有鲜红色聚光灯的较暗球体:

更透明的球体,带有柔和的红色聚光灯:

EN

回答 1

Stack Overflow用户

发布于 2016-09-14 15:13:04

在这一行..。shapeNode.addChildNode(lightNode) ...you将灯光节点添加到球体节点。

如果要取消它们的链接,同时仍使它们一起移动,则可以创建一个空SCNNode,然后将另外两个SCNNode实例作为子实例添加到其中(一个用于灯光,另一个用于球体):

代码语言:javascript
运行
AI代码解释
复制
func setupView() {
scene = SCNScene()
caliView.scene = scene
caliView.allowsCameraControl = true
caliView.backgroundColor = UIColor.clearColor()
let clearMaterial = SCNMaterial()
clearMaterial.diffuse.contents = UIColor(white: 0.9, alpha: 0.5)
clearMaterial.locksAmbientWithDiffuse = true

let emptyNode = SCNNode()

let shape = SCNSphere(radius: 5)
shape.materials = [clearMaterial]
let shapeNode = SCNNode(geometry: shape)

let spotLight = SCNLight()
spotLight.type = SCNLightTypeSpot
spotLight.color = UIColor.init(colorLiteralRed: 180, green: 0, blue: 0, alpha: 0.0)
let lightNode = SCNNode()
lightNode.light = spotLight

lightNode.position = SCNVector3(x: 0.0, y:0.0, z:15.0)
lightNode.orientation = SCNQuaternion(x: 0.0, y:0, z:30, w:0.0)

let ambientLight = SCNLight()
ambientLight.type = SCNLightTypeAmbient
ambientLight.color = UIColor(white: 0.8, alpha: 0.2)
let ambientNode = SCNNode()
ambientNode.light = ambientLight

shapeNode.position = SCNVector3(x: 0.0, y: 0.0, z: 0.0)

emptyNode.addChild(shapeNode)
emptyNode.addChild(lightNode)
scene.rootNode.addChildNode(emptyNode)
scene.rootNode.addChildNode(ambientNode)

}

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39492219

复制
相关文章
清晰的画出点与点之间的关系,能够很好的去布局的库。
from graphviz import Digraph s = Digraph('structs', filename='structs_revisited.gv', node_attr={'shape': 'record'}) s.node('struct1', '<f0> left|<f1> middle|<f2> right') s.node('struct2', '<f0> one|<f1> two') s.node('struct3', r'hello\nworld
裴来凡
2022/05/28
2140
清晰的画出点与点之间的关系,能够很好的去布局的库。
#PY小贴士# for 循环定义的变量,循环外可以用吗?
我们知道,在 python 中要获取一个变量的值,必须是先给它赋值过,不然就是未定义。那么这个 i,代码中没有显式的赋值,在循环体之外还可以用吗?
Crossin先生
2020/01/17
4.2K0
推荐系统里,可以用蒸馏吗?
无论是商品推荐,还是广告推荐,都大致可以分为召回,预排序(粗排),精排等阶段,如上篇<淘宝搜索中基于embedding的召回>的图所示:
炼丹笔记
2021/09/24
1.2K0
画出优雅的生存曲线
网上搜到过代码,但是都是用TCGA自己带的肺癌数据画的,往往我们手里的不是同样的格式的数据,本期推文带来的是自定义数据绘制。
生信喵实验柴
2023/09/04
1890
画出优雅的生存曲线
python画出的那些心
数学那么美,我就喜欢python。 (x2+y2−1)3−x2y3=0(x2+y2−1)3−x2y3=0{({x^2} + {y^2} - 1)^3} - {x^2}{y^3} = 0 这个公式就是心形的方程,然后我们用python画出来就行了。
py3study
2020/01/07
7020
python画出的那些心
画出优雅的气泡图
第一种: 把自己的数据整理成easy_input.txt的格式,就可以跳过“输入数据的格式化”,直接进入“开始画图”。第一列是基因名,后面几列依次是各个sample里motif的pvalue,然后是motif的名字,后面是FPKM值。
生信喵实验柴
2023/09/06
5510
画出优雅的气泡图
生命可以用更少的氨基酸编码蛋白质吗?
蛋白质是生命活动的主要承担者,生命进化最终都会体现在蛋白质功能的多样化上。蛋白质是由20种氨基酸编码的,相比于ATGC的DNA遗传编码信息,氨基酸字母表显示出极大地复杂性和多样性。
生信菜鸟团
2020/07/02
8000
生命可以用更少的氨基酸编码蛋白质吗?
蛋白质是生命活动的主要承担者,生命进化最终都会体现在蛋白质的功能的多样化上。蛋白质是由20种氨基酸编码的,相比于ATGC的DNA遗传编码信息,氨基酸字母表显示出极大地复杂性和多样性。这就产生了一系列非常有趣的问题:生命为什么会选择20种氨基酸作为标准字母表?更少的氨基酸能否组成或满足一个蛋白质执行功能的基本组成单元?我们能否用更少的氨基酸创造出摆脱当前遗传法则,设计更为独特的生命?
白墨石
2021/01/12
8210
画出最佳分组的生存曲线
做生存分析,Best separation和Median separation,后者很简单,很想学前者,这次带来的是最佳分组的曲线代码。
生信喵实验柴
2023/09/06
3590
画出最佳分组的生存曲线
不清晰的图片如何处理?拍摄清晰图片的技巧有哪些?
现代人手机的功能除了娱乐和通讯之外,还有一个功能就是可以充当照相机,许多人的手机里面都存着许许多多的图片,有生活情景,也有一些好玩儿的景象。正因为有许许多多的拍摄图片,因此图片制作以及修图技能也是现代很多人的一个业余爱好。尤其是在许多和美工设计有关的工作当中,也是需要经常处理图片的,不清晰的图片如何处理呢?
用户8715145
2021/12/29
1.2K0
如何快速画出美观的图形?
今天赵小编给大家推荐一个非常实用绘图的网站 ECHARTS[1](文末原文链接直达)
庄闪闪
2021/09/14
8770
小程序也可以用来挖掘App流量吗?
小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。
二山山记
2022/09/30
1.4K0
面试官:你可以用纯 CSS 判断鼠标进入的方向吗?
在之前某一个前端技术群里,有一个群友说他面试的时候遇到了一个问题,就是面试官让他用纯 CSS 来实现一个根据鼠标移动位置觉得物体移动方向的 DEMO。
陈大鱼头
2020/05/06
1.1K0
cdn如何备案 没有备案可以用cdn吗
网络对于我们的生活是非常重要的,我们在日常的生活当中,经常会使用网络,但是现在很多的虚拟网络是需要进行备案的,如cdn。只有备案之后才能够正常的使用,但是有些人可能并没有接触过备案,所以并不知道cdn如何备案。
用户8715145
2021/09/24
8.1K0
画出igv款式的矢量图
展示感兴趣的基因附近的ChIP-seq、DNase/ATAC-seq或RNA-seq的bigwig信号图,不使用IGV或UCSC genome browser那种截图,画出同款矢量图,接着可以用AI等软件编辑。
生信喵实验柴
2023/09/04
4740
画出igv款式的矢量图
[WPF] 使用 HandyControl 的 CirclePanel 画出表盘刻度
最近需要一个 WPF 的表盘控件,之前 Cyril-hcj 写过一篇不错的博客 《WPF在圆上画出刻度线》,里面介绍了一些原理及详细实现的代码:
dino.c
2022/09/27
1.6K0
[WPF] 使用 HandyControl 的 CirclePanel 画出表盘刻度
用python画出你的童年回忆
于是,今天我们来学习python的turtle库绘制童年的卡通人物,皮卡丘,小猪佩奇,小黄人,一起做回年轻的那个少年。
生信交流平台
2020/08/06
8270
用python画出你的童年回忆
WPF 如何画出1像素的线
如何有人告诉你,请你画出1像素的线,是不是觉得很简单,实际上在 WPF 上还是比较难的。 本文告诉大家,如何让画出的线不模糊
林德熙
2018/09/19
1.2K0
WPF 如何画出1像素的线
WPF 如何画出1像素的线
如何有人告诉你,请你画出1像素的线,是不是觉得很简单,实际上在 WPF 上还是比较难的。 本文告诉大家,如何让画出的线不模糊
林德熙
2022/08/04
3460
Chrome OS的架构简单清晰
理想中的确应该如此,就包含三个部分: 1.与硬件的接口 2.内核 3.用户接口 http://lifehacker.com/5408594/first-glimpse-at-google-chrome
贰师兄TEN
2020/12/08
1.1K0
Chrome OS的架构简单清晰

相似问题

访问SCNSphere属性

25

SCNScene /SCNSphere的可视区域

117

SCNSphere的接缝在哪里?

117

我能用Oxyplot画出积分的面积吗?

13

SCNSphere上tap的定位- Swift (SceneKit) / iOS

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档