首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ARKIT - 3d文本-最新技术

ARKIT - 3d文本-最新技术
EN

Stack Overflow用户
提问于 2018-03-01 19:03:32
回答 1查看 151关注 0票数 1

要求能够在arkit测试中从键盘输入。

到目前为止,我使用的是SCNText,它是纯2D文本的3d渲染。我对这个结果并不满意,因为文本显然是2D文本在X/Y平面上在3D空间中的投影。此外,应用像“霓虹灯”这样的效果也是无效的。此刻我脑海中唯一浮现的就是:

a-为每个字符创建一个表示字符的.DAE对象b-导入.DAEs并将其映射到字符

这种方法非常耗时,甚至不知道可能的复杂情况。此外,考虑到不同的语言,它将涉及进一步的工作,以适应不同的语言。

问题:

1-有人熟悉它并且已经实现了吗? 2-有没有更好的解决方案来解决这个问题? 3-有没有办法已经为单个字符构建了.DAEs?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-03-01 19:39:09

你可以设置SCNText的extrusiondepth参数,让它看起来更'3D':

Apple:例如,如果其extrusionDepth属性为1.0,则几何图形将沿z轴从-0.5延伸到0.5。如果拉伸深度为零,则会创建一个扁平的单面图形-几何体被限制在z坐标为0.0的平面上,并且只能从其正面查看,除非其材质的isDoubleSided属性为true。

你也可以使用NSAttributedString来添加一些额外的“效果”。

最后,您说您希望SCNText根据键盘输入动态显示?

创建一个TextField并将其添加到视图中,例如:

代码语言:javascript
复制
    let textField =  UITextField(frame: self.view.bounds)
    self.view.addSubview(textField)
    textField.backgroundColor = .clear
    textField.becomeFirstResponder()
    textField.addTarget(self, action: #selector(textFieldDidChange(_:)), for: .editingChanged)

响应输入:

代码语言:javascript
复制
 @objc func textFieldDidChange(_ textField: UITextField) {

  //Set The SCNText Here

   displayLabel.string = textField.text

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

https://stackoverflow.com/questions/49048276

复制
相关文章

相似问题

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