问题标签 [sceneview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1053 浏览

ios - 将一个 SCNNode 放在一个平面上并检测到该节点被点击

我正在开发一个应用程序,它首先检测到有一个垂直平面,然后,如果用户触摸该平面,我将 SCNNode 添加到 rootNode。之后,我想检测用户是否触摸节点来做更多的事情,但我无法检测到该点击,它只是检测到平面点击。现在我回到了这个方法:

哪个是在平面上点击时添加节点的那个,但现在我想检测节点何时被点击,我使用了以下代码:

它输入if,但节点的名称始终为nil,当我创建节点时将其添加到平面我给它一个名称......我怎样才能检测到节点被点击?

0 投票
2 回答
925 浏览

objective-c - iOS 12 中autoenablesDefaultLighting 太亮,SCNView.pointOfView 无效

我正在使用我的场景视图的 SceneKitautoenablesDefaultLightingallowsCameraControl功能为应用程序中的 obj 3D 模型提供光,并在 Objective-C 中围绕该对象旋转。升级到iOS12后,默认光照强度autoenablesDefaultLighting变高了,3D模型看起来很亮!

有没有人遇到过同样的问题?如果是,有没有办法控制autoenablesDefaultLighting其值为“是”时的光强度?如果它不可编辑,我尝试通过创建一个节点将全向光或定向光附加/约束到相机,为该节点分配一个灯光并添加为子节点,SCNView.pointOfView但没有灯光照亮场景。

示例:
iOS 12 之前
显示的 3D 对象 iOS 12 中显示的 3D 对象

如果有人可以帮助我,那就太好了。

非常感谢!

编辑以解决此问题

我创建一个新的 SCNCamera 并将其添加到节点中并设置我的 scnView 的 PointOfView。激活此相机的 HDR,scnView.pointOfView.wantHDR = YES; 但背景为灰色。

要删除灰色背景,我删除了背景颜色scnView.backgroundColor = [UIColor ClearColor] 并将相机的曝光设置为 -1:

self.scnView.pointOfView.camera.minimumExposure = -1; self.scnView.pointOfView.camera.maximumExposure = -1;

谢谢

0 投票
0 回答
222 浏览

ios - SceneView 相机预览作为背景

我正在开发应该camera preview用作背景的应用程序SceneView。我正在尝试这样设置:

应用程序已授予使用相机的权限。但是视频没有显示,在控制台中我看到:

这可能是什么原因?

0 投票
1 回答
257 浏览

android - 添加 localRotation 移动 ArCore 节点?

这让我完全不解。我把这个节点放在场景中,但只要我添加“localRotation”,节点就会移动。如果我不移动它看起来很好(位于我期望的中心)。我是否必须初始化四元数以使其垂直于地板/姿势?

0 投票
1 回答
195 浏览

swift - ARSCNView 中像素的颜色

我正在尝试获取由触摸位置确定的 CGPoint 处的像素颜色。我尝试了以下代码,但颜色值不正确。

运行此程序并触摸屏幕上一个非常大且一致的亮橙色点会产生广泛的 RGB 值,然后查看它们实际产生的颜色会产生完全不同的颜色(橙色的情况下为深蓝色)。

我猜可能坐标系不同,我实际上可能在图像上得到不同的点?

编辑:另外我应该提到我正在点击的部分是一个不受照明影响的 3D 模型,因此颜色应该并且在运行时看起来是一致的。

0 投票
1 回答
215 浏览

swift - 删除场景视图节点后应用程序崩溃

我在我的 SceneView 中添加了一个按钮来删除墙上放置的图像:

它工作正常,但几秒钟后应用程序崩溃并出现以下警告:

com.apple.scenekit.scnview-renderer (14):致命错误:在展开可选值时意外发现 nil

在我的代码的这一部分出现错误:

我做错了什么?

0 投票
2 回答
123 浏览

swift4 - arkit 场景视图仅显示 1 个 arkit 对象

我下面的代码仅在 touches started 函数中显示 1 个 arkit 对象。我希望用户能够在 arkit 场景视图中显示几个相同的 arkit 对象。现在,用户可以放置图像,但是一旦放置下一个图像,另一个图像就会被删除。

0 投票
2 回答
629 浏览

c# - 在编辑器模式下显示标准 Gizmo

我正在编写 Unity 编辑器的扩展,想知道是否有办法在编辑模式下显示用于在场景视图中重新缩放/移动碰撞器的多重小玩意?我不想重新发明轮子并创建自定义小玩意(已经开始了我的丑陋版本!)谢谢!

0 投票
1 回答
235 浏览

swift - ARSCNView 角半径未显示

我的圆角半径ARSCNView如下;

但是,它仅在您在后台进入应用程序时显示,如下图所示;

应用程序在后台的图像

只要应用程序处于前台,角半径就会回到 0。

我试过加入ViewDidLoadViewWillAppear没有成功

0 投票
1 回答
1333 浏览

android - 如何将视频叠加到 3d 模型后面的 SceneView 背景上?

我在网站 ( https://developers.google.com/ar/develop/java/sceneform/build-scene )之后在不使用相机和 AR 会话的情况下渲染了 3D 场景。

我想要做的是在我从图库中带来选定的视频后,将视频放在绿色背景上。我知道如何导入视频并更改背景颜色(sceneView.setBackgroundColor(Color.MAGENTA);)

图像是这样的。(https://developers.google.com/ar/develop/java/images/sceneview.png

第一次我想如果我在 XML 布局中的这个“SceneView”后面找到一个视频视图,然后使背景透明,它会工作,但它没有工作。

下面的代码不起作用。

你知道怎么做吗?你有什么想法接近我的目的吗?