Я сталкивался с чем-то похожим ... либо удалите узел метки и замените свой собственный, либо отредактируйте файл .dae и удалите метку. Затем вы можете добавить текст SCNText в любое место, где вы хотите его разместить. Нечто подобное этой функции позволяет отбрасывать, поворачивать и / или индивидуально раскрашивать все символы. Вам придется поэкспериментировать с этим, чтобы получить его в нужном месте, и длина строки имени будет варьироваться. Это усложняет это - одно решение состоит в том, чтобы центрировать его в фиксированной ширине [--- Джим ---] и не превышать go максимальной длины. Это также имеет свои проблемы, но, надеюсь, это поможет вам в этом. Этот код выполняет специальную обработку пробелов и разрывов строк (breakAt), вы можете удалить это.
func addSCNText(vGroupNode: SCNNode, vPosition: SCNVector3, vScale: SCNVector3, vString: String)
{
var vX: Float = 0
for char in vString
{
let textGeometry = SCNText(string: String(char), extrusionDepth: 1.0)
textGeometry.font = AppColor.endWaveFont!
textGeometry.flatness = 0.2
textGeometry.firstMaterial?.diffuse.contents = UIColor.red
let textNode = SCNNode(geometry: textGeometry)
textNode.position.x = vX
vX += 12
if(breakAt != 0)
{
vGroupNode.addChildNode(textNode)
}
else
{
if(char != " ")
{
vGroupNode.addChildNode(textNode)
}
}
}
gNodes.gameNodes.addChildNode(vGroupNode)
vGroupNode.position = vPosition
vGroupNode.scale = vScale
}