Шрифт по умолчанию для SCNText
— 36 pt Helvetica, а " по размеру шрифта совпадает с единицей пространства сцены. (Ну, локального пространства для узла, содержащего геометрию SCNText
. Но если вы не установили коэффициент масштабирования для своего узла, единицы локального пространства совпадают с единицами пространства сцены.) Это означает, что даже короткая метка может состоять из десятков единиц. в высоту и сотни единиц в ширину.
Обычно сцены SceneKit создаются с меньшей областью действия — например, простые тестовые сцены, которые вы можете собрать вместе на игровой площадке Swift, используя размеры по умолчанию для SCNBox
, SCNSphere
и т. д., могут иметь ширину всего 3-4 единицы. (И если вы используете SceneKit с ARKit, единицами измерения сцены являются метры, поэтому некоторый текст шрифтом 36 «точек» имеет размер нескольких офисных кварталов в центре города.)
Кроме того, точка привязки текстовой геометрии относительно содержащего ее узла находится в левом нижнем углу текста. Соберите все это вместе, и вполне возможно, что над остальной частью вашей сцены нависают гигантские буквы, скрывающиеся за пределами поля зрения камеры.
Обратите внимание, что если вы попытаетесь исправить это, установив гораздо меньший шрифт на вашем SCNText
, текст может стать неровным и коротким. Это связано с тем, что свойство flatness
измеряется относительно размера точки текст (точнее, измеряется в системе координат, где одна единица == одна точка размера текста). Поэтому, если вы выберете размер шрифта, который будет крошечным по стандартам экрана/печати, вам нужно будет соответственно уменьшить flatness
, чтобы по-прежнему получать плавные кривые в ваших буквах.
Кроме того, вы можете оставить размеры шрифта и плоскостность без изменений — вместо этого установите scale
a> на узел, содержащий текстовую геометрию, или установите pivot
этого узла. a> в матрицу преобразования, которая уменьшает ее содержимое. Например, если вы установите масштабный коэффициент 1/72, одна единица пространства сцены будет равна одному «дюйму» (72 пункта) высоты текста — в зависимости от других размеров в вашей сцене это может немного усложнить задачу. легче думать о размерах шрифта, как в 2D.
person
rickster
schedule
09.12.2016