SceneKit:是否可以在透明对象上投射阴影?

2023-12-09

我正在尝试在 OSX 上的 SceneKit 中的完全透明的平面上投射阴影。我在这个问题上挣扎了几个小时,但没有找到任何解决方案。

我的目的是生成几个具有透明背景的对象的屏幕截图,并且只有不可见平面上的阴影。

你对我如何用苹果 SceneKit 做这个有什么建议吗?

我是否必须编写自己的着色器,我可以使用着色器修改器来实现此功能还是可以使用内置功能?


UPDATE:

我为任何有需要的人找到了替代解决方案:

  1. 在3D模型下创建一个白色平面,注意平面颜色必须是纯白色。
  2. 将平面材质的混合模式设置为SCNBlendModeMultiply.
  3. 将平面材质的灯光模型设置为SCNLightingModelLambert.

这是有效的,因为任何颜色乘以白色 (1, ,1, 1) 都会返回自身,并且朗伯光模型不会考虑定向光,因此平面将始终是看起来透明的背景色。该解决方案的另一个好处是您不需要更改灯光的阴影渲染模式。

对于曾经使用过 Xcode 检查器的人。

enter image description here enter image description here


根据SceneKit:新增内容.

First, add a plane under you model. Then prevent it from writing to colorBuffer. Second, change your light model's shadow rendering mode to deferred. Notice that you must use light which can cast shadows. plane's material inspector

light's attributes inspector

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SceneKit:是否可以在透明对象上投射阴影? 的相关文章

  • 在 Mac 中运行 Postgresql:数据库“postgres”不存在 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我按照这些说明让 postgresql 在 mac 上运行 请注意 我使用 Homebrew 进行安装 并且当前可通过brew安装的版本是 9 2 1
  • 一个好的8086模拟器[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 mac 有没有 8086 模拟器 如果是 哪个是最好的 除非您需要真正的原始 8086 带有自定义操作系统 否则您应该尝试 DosBox
  • 使用完成处理程序在 Swift 中调用连续动画

    我正在制作一个可以显示化学反应动画的应用程序 每个原子都是一个 SCNSphere 并通过 SCNActions 进行动画处理 我尝试使用 runAction 中的完成处理程序在当前操作完成后调用下一个动画 因为每个原子必须做出很多不同的运
  • 如何将 UILabel 的值绑定到实例变量?

    我是 mac objective c 的新手 我的问题是 我想知道是否可以将 UILabel 文本绑定到变量 而不必在值更改时手动设置文本 例如 在 Mac OS 上 当我打开新的 Finder 窗口并删除文件时 任务栏中的全局可用空间就会
  • Xcode 9:“clang:错误:生成多个输出文件时无法指定 -o”

    我刚刚将 Xcode 更新到版本 9 并且在编译时开始收到以下错误消息 该问题似乎与将 优化级别 参数设置为 无 即 O0 进行编译有关 如果我将其设置得更高 错误就会消失 但是当我增加优化时 调试工具将无法正常工作 例如变量跟踪 我查看了
  • OpenCV 无法从 MacBook Pro iSight 捕获

    几天后 我无法再从 opencv 应用程序内部打开我的 iSight 相机 cap cv2 VideoCapture 0 返回 并且cap isOpened 回报true 然而 cap grab 刚刚返回false 有任何想法吗 示例代码
  • 核心数据 iCloud 同步中的关系完整性和验证

    考虑以下简单的实体模型 实体 A 与实体 B 具有一对一关系 称为b 实体 B 具有逆对一关系 称为a 这两种关系都不是可选的 A B b lt gt a 假设我们有两个设备 1 和 2 开始完全同步 每个对象都有一个 A 类对象和一个 B
  • Mac 上的 Delphi - 可能吗? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我负责一个 Delphi Win32 项目管理应用程序 我刚刚完成了向 Delphi 2009 的迁移
  • 如何在 MAMP 上显示错误?

    我有 MAMP 但我不知道如何在其上显示错误 当我的 php 代码出现错误时 它只显示空白页 我在 Google 上搜索过 我发现我必须在所有文件夹和版本上将其更改为 display errors on 并将其包含在我的页面上 错误报告 E
  • Mac OS X Yosemite 中的 Node.js dtrace 错误

    我在 Mac OS X 10 10 Yosemite 上尝试使用 DTrace Node js 应用程序 sudo dtrace n profile 97 execname node arg1 jstack 150 8000 count t
  • Android Studio 无法运行 Xcode 模拟器

    我正在尝试使用 Xcode iPhone 模拟器模拟我的 Flutter 应用程序 但收到此错误 在升级 Android Studio 和 Xcode 之前 它运行良好 Launching lib main dart on iPhone X
  • 无法在 Mac 上启动 MySQL

    使用 Brew 安装后 我无法运行 MySQL 我使用的是 OS X El Capitan 版本 10 11 3 和 MySQL Server 版本 5 7 11 当我启动服务器时 我收到 启动 MySQL 错误 服务器退出而不更新 PID
  • Docker 容器与主机网络的网络性能非常慢

    我遇到了 Docker 容器和主机网络之间网络性能缓慢的问题 我在 Docker 论坛上提出了这个问题 但到目前为止还没有收到答案 Problem 设置 同一本地网络上的两台 Mac 第一个运行 MQTT 代理 mosquitto 第二个运
  • 当 Mission Control 启动时,如何隐藏我的 Electron 应用程序窗口?

    我正在构建一个 Electron 应用程序 但我不希望我的应用程序出现在 macOS Mission Control 中 有没有办法在任务控制启动时隐藏窗口 我能够通过使用来实现此行为setAlwaysOnTop窗口对象上的方法 windo
  • 如何在 Mac OSX Mavericks 中正确运行字符串工具?

    如何在 Mac OSX Mavericks 中正确运行字符串工具 我尝试按照我在网上找到的示例来运行它 strings a UserParser class 但我收到此错误 错误 Applications Xcode app Content
  • PNG 透明度问题 - 带有黑色阴影的褪色图像 - IE 中的边框

    我使用图像旋转器在主页上显示一些图像 所有图像均为 PNG 格式 问题出在 IE 7 8 中 图像旁边有黑色阴影 我花了几个小时来解决这个问题 但仍然不知道问题出在哪里以及如何删除它 没有人有类似的问题和提示吗 如何解决 尝试使用 img
  • Mac 应用程序商店 - 尝试让加密发挥作用。 。 。我缺少什么?

    我正在尝试使用 Alan Quartermain 的解决方案 如该问题所链接 Mac App Store 收据验证码 https stackoverflow com questions 4261348 mac app store recei
  • ansible unarchive 模块如何查找 tar 二进制文件?

    我正在尝试执行一个 ansible 剧本 该剧本的任务是利用unarchive模块 因为我是在 OSX 上执行此操作 所以我需要使用它gnu tar 而不是bsd tar通常与 OSX 一起提供 因为BSD tar 不受官方支持 https
  • 体系结构 x86_64 的未定义符号:用于 caffe 构建

    我收到此错误的原因是caffe http caffe berkeleyvision org 建造 我该如何修复它 我使用的是 Mac OSX Yosemite 10 10 1 控制台日志 Machida no MacBook Air caf
  • 表视图未根据绑定更新 - 第二部分

    标题借用自这个问题 https stackoverflow com questions 1336478 table view not updating according to bindings 其中这个是not重复的 请参阅我的回答 了解

随机推荐

  • 将日历与闪亮的散点图链接起来

    如果可能的话 我希望您帮助我将我的日历链接到我想做的一些散点图 我要解释一下 我的想法是 当该人在日历上选择 01 01 2021 选项时 他会生成一个散点图 其中包含每个类别的第一个点 即 D1 DR01 DR02 DR03 和 DR04
  • stackoverflow错误:检查数字是偶数还是奇数,没有%或/运算符[重复]

    这个问题在这里已经有答案了 在没有 或 运算符的情况下检查数字是偶数还是奇数 public class EvenOrOdd public static int CheckEvenOrOdd int num if num gt 2 int n
  • 有人可以非常详细且易于理解地向我解释 SharedPreferences 在 Android 中的工作原理吗?

    我是 Android 开发新手 现在我真的很想学习共享首选项 我用谷歌搜索了很多次 但我认为我还没有完全掌握它 我相信此共享首选项将帮助我在登录屏幕活动中存储用户名和密码 感谢您 我制作了一些关于此的视频作为工作试镜 他们帮助我得到了这份工
  • 带 cookie 的 iPhone NSData/NSUrl

    我正在尝试播放 流式传输网站上托管的 mp3 该网站需要设置 cookie 标头 但我在设置该标头或让容器为我执行此操作时遇到困难 NSURL sampleUrl NSURL URLWithString http domain files
  • R - 使用任何其他列中的值填充列

    我有一个 5 列的数据框 4 列有值 1 列为空 我想用 4 列中任意一列中的任意值填充空列 假设这是我的数据框df Col1 Col2 Col3 Col4 Col5 11 11 2 2 2 23 4 4 15 15 我希望我的结果看起来像
  • 如何在 url asp.net mvc 4 中添加扩展名 .html?

    我有网址 http localhost 1714 Message Index 我想展示 http localhost 1714 Message Index html 我该怎么做 您需要修改 Web config 以将对 HTML 文件的请求
  • YouTube API 返回带有空列表的 nextPageToken

    这个问题与 YouTube API 500 1000 无关有意义的结果问题 我认为 YouTube API nextPageTokens 的工作方式是 一旦没有更多结果可返回 它们将为 null 但是 我看到一开始就返回了结果 但有时即使只
  • 如何将指针分配给矩阵的对角线?

    我有一个矩阵说REAL 8 MATRIX 100 100 我想仅从主对角线或上三角形创建一个指针 怎么做 目的是以干净的 命名 方式轻松访问这些元素 对于主对角线 请小心 您可以执行以下操作 PROGRAM diagonal IMPLICI
  • 过滤嵌套字典[重复]

    这个问题在这里已经有答案了 所以我有这本字典 Filme 1 Titel 20 Jahr 2 Wertung 6 Preis 50 Schauspielern a b c 2 Titel 30 Jahr 3 Wertung 7 Preis
  • 如何确定 TypeScript.Expression 对象的结果类型?

    使用 TypeScript 抽象语法树时 如何确定 TypeScript Expression 对象的结果类型 我正在使用 TSLint 并尝试查找不传递 Function 类型的对象作为第一个参数的 setTimeout 调用 例如 在下
  • 将同步调用包装在 Task.Run() 中以使其异步是否有益?

    我提出这个问题的动机是因为我正在创建一个 net Web API 项目 该项目将使用具有同步方法的现有 Neo4j Rest API 客户端 我想通过使用异步方法来利用一些性能提升 但我想避免进入 neo4j api 库并重构同步方法以返回
  • 如何在node.js服务器中自动重新连接mongo?

    假设我有一个连接到 mongoDB 的 Node js 服务器 然后 mongoDB 死亡或断开连接 当然 node js 服务器会失去连接 即使我重新启动 mongoDB node js 服务器也不会自动连接到新的 mongodb 即使它
  • 系统找不到Android Studio指定的文件

    每当我尝试运行 Android 应用程序时 我都会收到一条错误消息 Error C Users zeshan gradle caches 2 14 1 scripts remapped build 6xj57zedh3l90p9pnawvv
  • 如何在 JavaScript 中创建选项卡?

    我一直在尝试用 JavaScript 创建选项卡 当点击一个new tab the 活跃班应适用于它及其相关的面板内容应该显示 但是 那活跃班单击另一个选项卡时不会应用panels也没有改变 它们只是相互堆叠 const tabs docu
  • WPF 如何显示 Image.Source (BitmapSource) 像素位置?

    假设我有一个以缩放方式显示其来源的图像 我如何使用 MouseMove 事件在标签或文本块中显示光标所在的像素位置 我需要像素坐标而不是图像相对于其大小的坐标 提前致谢 您可以从 ImageSource 中找到实际像素的高度和宽度 Imag
  • Android 中的自动增长 ListView

    我确实搜索了与我要问的问题相关的各种问题 我只是想以清晰简单的方式提出问题 并希望得到一个清晰简单的答案 我有一个List我想向用户展示的数百个项目ListView小部件 最初 我想从 50 个项目开始 当用户滚动到底部附近时 我想添加另外
  • 对 .xml 文件中

    内的句子进行编号?

    我是一名初学者程序员 我陷入了这个可能很简单的问题 我想自动将数字添加到 xml 文件的 P 标签中包含的句子中 因此 xml 文件中的示例段落如下所示 p Sentence1 Sentence2 Sentence3 p 我想把它改造成 p
  • 如何获取函数的所有参数?

    在 JavaScript 中 我们有arguments 属性 可以让我们获取函数的参数 我一般都是这样做的 function sum var agumentCount arguments length var count 0 var sum
  • excel 替换值 N/A

    我有一行包含一些值A1 to A3 我有 1 3 N A I tried SUM A1 A3 但由于我的值为 N A 因此无法获得 3 个值的总和 我想将 N A 视为 0 并得到总和 The 总计的函数非常适合忽略错误项 AGGREGAT
  • SceneKit:是否可以在透明对象上投射阴影?

    我正在尝试在 OSX 上的 SceneKit 中的完全透明的平面上投射阴影 我在这个问题上挣扎了几个小时 但没有找到任何解决方案 我的目的是生成几个具有透明背景的对象的屏幕截图 并且只有不可见平面上的阴影 你对我如何用苹果 SceneKit