SCNSphere
Соответствует
Оператор импорта
Swift
import SceneKit
Objective C
@import SceneKit;
Доступность
Доступный в iOS 8.0 и позже.
SCNSphere
геометрия моделирует сферу (также известный как шар или земной шар).
Сфера определяет поверхность, каждая точка которой является равноотстоящей от своего центра, размещающегося в источник ее пространства локальной координаты. Вы определяете размер сферы во всех трех измерениях с помощью radius
свойство.
SceneKit приближает кривую поверхность сферы с помощью сетки многоугольников. Существует две опции для построения сетки:
По умолчанию SceneKit создает сферу с помощью прямоугольной сетки, как строки широты и долготы на земном шаре Земли. Сфера имеет вершину в каждом полюсе и
segmentCount
свойство определяет обоих число подразделений вдоль его поверхности от одного полюса до другого (или строки широты) и число подразделений вокруг его окружности в горизонтальной плоскости (или строки долготы).Если Вы устанавливаете сферу
geodesic
свойство кYES
true
, SceneKit создает сферу путем последовательного подразделения треугольных поверхностей икосаэдра. Для геодезической сферы,segmentCount
свойство масштабируется логарифмически для определения числа подразделений, примерно приближая число вершин, сгенерированных негеодезической сферой того же количества сегмента.
С любым приближением, увеличиваясь segmentCount
свойство производит больше вершин и более гладко кривую поверхность, которая может повысить качество рендеринга по стоимости для рендеринга производительности.
Чтобы расположить и ориентировать сферу в сцене, присоедините его к geometry
свойство SCNNode
объект.
-
Создает геометрию сферы с указанным радиусом.
Объявление
Swift
convenience init(radius
radius
: CGFloat)Objective C
+ (instancetype)sphereWithRadius:(CGFloat)
radius
Параметры
radius
Радиус сферы в ее пространстве локальной координаты.
Возвращаемое значение
Новая геометрия сферы.
Обсуждение
Сфера центрируется в ее системе локальной координаты. Например, при создании сферы, радиус которой
5.0
, это расширяется от-5.0
к5.0
вперед каждого из x, y, и оси z.Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в iOS 8.0 и позже.
-
radius
СвойствоРадиус сферы. Animatable.
Обсуждение
Сфера центрируется в ее системе локальной координаты. Например, при создании сферы, радиус которой
5.0
, это расширяется от-5.0
к5.0
вперед каждого из x, y, и оси z. Радиус нуля или меньше создает пустую геометрию.Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.
Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в iOS 8.0 и позже.
-
geodesic
СвойствоБулево значение, указывающее, использует ли SceneKit геодезическую сетку многоугольника для рендеринга сферы.
Объявление
Swift
var geodesic: Bool
Objective C
@property(nonatomic, getter=isGeodesic) BOOL geodesic
Обсуждение
Значение по умолчанию
NO
false
, указание, что SceneKit создает сетку сферы с помощью прямоугольной сетки, как строки широты и долготы на земном шаре Земли. Этот тип сетки сферы эффективен для большей части использования, но может вызвать искажение текстуры в областях около его полюсов.Значение
YES
true
указывает, что SceneKit создает сетку сферы путем последовательного подразделения икосаэдра, создания сетки унифицированно размерных треугольников через всю поверхность сферы, как показано на рисунке 2.Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в iOS 8.0 и позже.
-
segmentCount
СвойствоЧисло, определяющее подробность многоугольника, поймало в сети использование SceneKit для рендеринга сферы. Animatable.
Обсуждение
Если сфера
geodesic
свойствоNO
false
, его количество сегмента определяет число подразделений вдоль его полярных углов и углов азимута, подобных широте и системе долготы на земном шаре Земли. Например, если количество сегмента24
, круговое горизонтальное сечение через центр сферы имеет 24 сегмента вокруг своей окружности, и полукруг, достигающий от одного полюса до другого посредством вертикального сечения также, имеет 24 сегмента.Если сфера
geodesic
свойствоYES
true
, SceneKit создает поверхность сферы путем последовательного подразделения поверхностей икосаэдра (или двадцатисторонний многогранник). Каждое подразделение увеличивает число в четыре раза многоугольников на поверхности. Число подразделений увеличивается логарифмически с количеством сегмента, так, чтобы общее количество многоугольников или вершин для геодезической сферы было подобно этому для негеодезической сферы того же количества сегмента.Количество сегмента по умолчанию
48
. Установка значения этого свойства к числу меньше, чем3
результаты в неопределенном поведении.Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.
Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в iOS 8.0 и позже.