SCNTube
SCNTube
геометрия моделирует трубку или канал — правильный круговой цилиндр с круговой дырой вдоль ее центральной оси.
Наружная поверхность трубки является цилиндром. Определите размер сечения цилиндра в x-и размерностях оси z ее пространства локальной координаты с outerRadius
свойство и его степень в размерности оси y с height
свойство. Цилиндр становится трубкой через вычитание цилиндрического объема вдоль его центральной оси. Определите размер этой круговой дыры с помощью трубки innerRadius
свойство. Чтобы расположить и ориентировать трубку в сцене, присоедините его к geometry
свойство SCNNode
объект.
Управляйте уровнем детализации с radialSegmentCount
и heightSegmentCount
свойства. Более высокое радиальное количество сегмента создает более гладкую кривую для круговых внутренних и наружных поверхностей трубки. Более высокое количество сегмента или в направлении производит больше вершин, которые могут повысить качество рендеринга для определенных моделей распространения света или пользовательских эффектов программы построения теней, но по стоимости для рендеринга производительности.
Трубка содержит четыре SCNGeometryElement
объекты: один каждый для его основы и вершины, та, переносящая его наружную поверхность и ту, переносящую его внутреннюю поверхность. SceneKit может представить каждый элемент с помощью различного материала. Для получения дополнительной информации посмотрите materials
свойство в Ссылке класса SCNGeometry.
Соответствует
Оператор импорта
Swift
import SceneKit
Objective C
@import SceneKit;
Доступность
Доступный в OS X v10.8 и позже.
-
Создает геометрию трубки с указанным внутренним радиусом, внешним радиусом и высотой.
Объявление
Swift
convenience init(innerRadius
innerRadius
: CGFloat, outerRadiusouterRadius
: CGFloat, heightheight
: CGFloat)Параметры
innerRadius
Радиус круговой центральной дыры трубки в x-и осях z его пространства локальной координаты.
outerRadius
Радиус кругового сечения трубки в x-и осях z его пространства локальной координаты.
height
Высота трубки вдоль оси y ее пространства локальной координаты.
Возвращаемое значение
Новая геометрия трубки.
Обсуждение
Трубка центрируется в ее системе локальной координаты. Например, при создании трубки, внешний радиус которой
5.0
, внутренний радиус1.0
, и высота10.0
, его круговое сечение расширяется от-5.0
к5.0
вдоль x-и осей z, y-координаты его основы и вершины-5.0
и5.0
, и дыра через ее центр расширяется от-0.5
к0.5
вдоль x-и осей z.Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.8 и позже.
-
outerRadius outerRadius
СвойствоРадиус внешнего кругового сечения трубки. Animatable.
Обсуждение
Трубка центрируется в ее системе локальной координаты. Например, трубка, внешний радиус которой
5.0
расширяется от-5.0
к5.0
вдоль x-и осей z. Внешний радиус по умолчанию0.5
.Внешний радиус нуля или меньше, или равный или меньший, чем внутренний радиус, создает пустую геометрию.
Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.
Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.8 и позже.
См. также
-
innerRadius innerRadius
СвойствоРадиус круговой дыры через трубку. Animatable.
Обсуждение
Трубка центрируется в ее системе локальной координаты. Например, если трубка имеет внутренний радиус
1.0
, цилиндрическая дыра через ее центр расширяется от-0.5
к0.5
вдоль x-и осей z. Внутренний радиус по умолчанию0.25
.Внутренний радиус нуля или меньше, или равный или больше, чем внешний радиус, создает пустую геометрию.
Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.
Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.8 и позже.
См. также
-
Степень трубки вдоль ее оси y. Animatable.
Обсуждение
Трубка центрируется в ее системе локальной координаты. Например, если трубка имеет высоту
10.0
, его основа находится в плоскости, y-координата которой-5.0
и его вершина находится в плоскости, y-координата которой5.0
. Высота по умолчанию1.0
. Высота нуля или меньше создает пустую геометрию.Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.
Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.8 и позже.
См. также
-
radialSegmentCount radialSegmentCount
СвойствоЧисло подразделений вокруг окружности трубки. Animatable.
Объявление
Swift
var radialSegmentCount: Int
Objective C
@property(nonatomic) NSInteger radialSegmentCount
Обсуждение
Большее число сегментов добавляет больше данных вершины к геометрии, создавая более гладкую кривую для круговых внутренних и наружных поверхностей трубки по стоимости для рендеринга производительности.
Количество сегмента по умолчанию
48
. Установка значения этого свойства к числу меньше, чем3
результаты в неопределенном поведении.Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.
Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.8 и позже.
См. также
-
heightSegmentCount heightSegmentCount
СвойствоЧисло подразделений во внутренних и наружных поверхностях трубки вдоль ее оси y. Animatable.
Объявление
Swift
var heightSegmentCount: Int
Objective C
@property(nonatomic) NSInteger heightSegmentCount
Обсуждение
Большее число сегментов добавляет больше данных вершины к геометрии. Несмотря на то, что внутренние и наружные поверхности трубки являются плоскими в направлении оси y, дополнительные вершины могут быть полезны для освещения или пользовательских программ программы построения теней. Добавление стоимости рендеринга увеличений вершин, так используйте минимальное количество сегмента, производящее Ваш желаемый визуальный эффект.
Количество сегмента по умолчанию
1
. Установка значения этого свойства к числу меньше, чем1
результаты в неопределенном поведении.Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.
Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.8 и позже.
См. также