по умолчанию шрифт для SCNText
является 36 point Helvetica, и «точка» размера шрифта такое же, как единицы сцены пространства. (Ну, локального пространства для узла, содержащего геометрию SCNText
.Но если вы не установили масштабный коэффициент на своем узле, то локальные космические единицы будут такими же, как единицы пространства сцены.) Это означает, что даже короткая метка может быть десятками единиц высотой и сотнями единиц.
Это типично для создания SceneKit сцен с меньшим объемом - например, простые тестовые сцены, как вы могли бы бросить вместе в Swift игровой площадки, используя размеры по умолчанию для SCNBox
, SCNSphere
и т.д. может быть только 3-4 единиц в ширине. (И если вы используете SceneKit с ARKit, единицы сцены - это метры, поэтому некоторый текст в 36-точечном шрифте - это размер нескольких офисных блоков в центре города.)
Кроме того, опорная точка для относительной геометрии текста к его содержащему узлу находится в левом нижнем углу текста. Объедините все это вместе, и вполне возможно, что над остальной частью вашей сцены появляются гигантские буквы, скрывающиеся только из камеры.
Обратите внимание, что если вы пытаетесь исправить это, установив гораздо меньший шрифт на вашем SCNText
, текст может получить неровный и коренастым. Это связано с тем, что свойство flatness
измеряется относительно размера точки текста (точнее, оно измеряется в системе координат, где одна единица = одна точка размера текста). Поэтому, если вы выберете размер шрифта, который будет минимальным по стандарту экрана/печати, вам необходимо уменьшить масштаб flatness
, чтобы по-прежнему получать плавные кривые в ваших письмах.
В качестве альтернативы вы можете оставить размер шрифта и плоскость самостоятельно - вместо этого установите коэффициент scale
на узел, содержащий геометрию текста, или установите pivot
этого узла в матрицу преобразования, которая уменьшает ее содержимое. Например, если вы установите масштабный коэффициент 1/72, одна единица пространства сцены будет такой же, как один дюйм (72 точки) высоты текста - в зависимости от других размеров в вашей сцене, что может сделать это немного проще думать о размерах шрифтов, как вы это делаете в 2D.
Не могли бы вы прояснить свой вопрос, а также добавить, как вы называете функцию abd, добавляя текст tue. – ColdSteel
Не могли бы вы рассказать о том, какие ожидаемые и актуальные результаты? – mnuages
Просто угадайте, так как ваш вопрос довольно неопределенен в отношении того, что на самом деле происходит неправильно ... но имейте в виду, что «точки» в вашем размере шрифта совпадают с единицами вашего трехмерного координатного пространства. [Шрифт по умолчанию - 36 pt] (https://developer.apple.com/reference/scenekit/scntext/1523273-font), поэтому, если остальная часть вашей сцены только, скажем, 3-4 единицы в ширину, быть гигантскими буквами, находящимися вне камеры. – rickster