问题标签 [scntext]

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 回答
341 浏览

swift - 更改 SCNText 中某些单词的颜色

我有一个SCNText我在 AR 应用程序中显示的,但我希望某些词是不同的颜色。

我尝试过以下操作: 如何更改标签中某些单词的颜色 - Swift 3 但 NSString 和标签与 SCN 不同(当然),所以这不起作用。

以下是我当前的代码,显示了我在做什么:

0 投票
1 回答
503 浏览

swift - 向 SCNSphere 添加文本

下午好,

首先,请原谅我(可能)非常基本的问题,我对 AR 世界还很陌生……

当用户点击屏幕时,我正在玩显示 3D 对象。当用户点击时,我已经成功地将一个类似气泡的对象投射到一个设定的位置:

我现在想做的是在 SCNSphere 上显示一个数字。理想情况下,它看起来像是印在球体的表面上。

我尝试了以下代码,但发现虽然文本已渲染,但在球体后面几乎看不到它,而且比球体小很多(我附上了一张照片来尝试展示这一点)。我尝试过使用不同的值,但我觉得我错过了一些关于定位的重要内容。

任何建议将不胜感激。

提前致谢!

在此处输入图像描述

0 投票
0 回答
68 浏览

ios - 防止 SCNText 的轴心点移动到其左对齐角

我需要从我最初设置的场景视图中的位置旋转一个 SCNText 对象。当我创建 SCNText 时,我会调整它的枢轴点,以便它在它的中心上旋转。问题是在我这样做之后它会自行移动到它的 leftAlignment 角。我用一个红点来创建这个点

在此处输入图像描述

如果没有下面的代码,它会错误地旋转(从左对齐角),如图 1 所示。使用此代码,它确实从中心正确旋转,但它的原始位置现在是错误的,如图 2 所示。

我在找第三张图。我怎样才能做到这一点?

代码:

当我第一次创建 textNode 时,我还尝试不添加“使用其中心的代码”,而是在旋转发生在内部时添加代码,respondToSwipeGesture但是一旦旋转完成,它就会结束/移动到与相同的 leftAlignment 角如图2所示。

0 投票
1 回答
30 浏览

ios - 如何计算 SCNText 的中心与其左右角之间的距离

如何计算 SCNText 中心与其左边缘角和右边缘角之间的距离。

例如,使用下面的代码,如果单词是“texas”,则字母“x”的中间将是pivot point因为它在单词的中间。我如何获得字母“t”左侧和字母“x”之间的距离。我如何获得字母“s”右侧和字母“x”之间的距离

0 投票
1 回答
124 浏览

ios - 如何在 ARkit ios 中的 sceneVIew 节点内添加 textview

我是 AR 开发的新手,目前正在使用 AR 功能使用一个基于视频通话的应用程序,因此需要在场景视图的节点中添加 UITextview

我尝试过以下代码:

如果有人对此有一些想法,请告诉我

0 投票
0 回答
65 浏览

ios - SCNText 中缺少字符(iOS 14)

以下代码(iOS、ARKit 项目)创建一个SCNText节点并将其附加到 ARKit 场景的根节点:

当我在装有 iOS 14 的模拟器或设备中运行它时,我得到一个缺少某些字符(例如“a”、“e”、“y”)的文本:

SCNText 的示例输出

当我使用常规字符串作为SCNText的输入参数但不适用于NSAttributedString +系统字体(字体很重要)时,它工作正常。它在以前的 iOS(iOS 13)中运行良好。

您是否遇到过缺少字符的类似问题?您是否找到任何解决方法?

可以在此处找到显示此问题的示例 Xcode 项目。

0 投票
1 回答
47 浏览

xcode - Scenekit 计时器相互干扰

我目前正在创建一个游戏,它使用几个不同的计时器来增加几个数字,同时在屏幕上显示为 3D 文本。当屏幕上只有一个数字出现时,它可以完美运行,并且数字会非常无缝地计数。但是,当存在多个数字并因此运行多个计时器时,这些数字确实会出现故障,并且它们都计数显示相同的数字,即使它们具有不同的值。

我使用这个启动计时器:

并使用它来更改文本:

整个代码中有几个相同的设置,唯一的变化是节点的名称。

有谁知道为什么会这样?

谢谢!