SCNCamera
SCNCamera
объект управляет атрибутами камеры, присоединенными к узлу. Для отображения сцены необходимо определять узел чей camera
свойство содержит объект камеры как точку зрения.
SCNNode
объект, содержащий камеру, определяет точку зрения — т.е. позиция и ориентация камеры. Направление камеры представления всегда приезжает отрицательная ось z системы локальной координаты узла. Для указания на камеру на различные части сцены используйте position
, rotation
, или transform
свойство узла, содержащего его. (Также, чтобы гарантировать, что камера всегда указывает на определенный элемент Вашей сцены, даже когда тот элемент перемещается, присоединение a SCNLookAtConstraint
возразите против узла, содержащего камеру.)
SCNCamera
сам объект определяет форму и, частично, появление представленной сцены, как замечено с ее точки зрения. По умолчанию камера определяет перспективную проекцию, поле зрения (FOV) которой и рядом и далекая видимость ограничивает Вас управление с помощью свойств, перечисленных в Корректирующейся Перспективе Камеры и проиллюстрированных на рисунке 1. Можно также использовать свойства, перечисленные в Корректирующихся Эффектах Глубины резкости установить фокусное расстояние для камеры, заставляя части сцены казаться более или менее расплывчатыми в зависимости от их расстояния с точки зрения.
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCoding
-
NSCopying
-
NSObjectProtocol
-
NSSecureCoding
-
Печатаемый
-
SCNAnimatable
-
SCNTechniqueSupport
-
NSCopying
-
NSObject
-
NSSecureCoding
-
SCNAnimatable
-
SCNTechniqueSupport
Оператор импорта
Swift
import SceneKit
Objective C
@import SceneKit;
Доступность
Доступный в OS X v10.8 и позже.
-
Создает новый объект камеры.
Объявление
Objective C
+ (instancetype)camera
Возвращаемое значение
Новый объект камеры.
Обсуждение
Для использования камеры для отображения сцены присоедините его к
camera
свойство узла и затем выбирает тот узел с помощьюpointOfView
свойство представления (или уровень или средство рендеринга) рендеринг сцены.Оператор импорта
Objective C
@import SceneKit;
Доступность
Доступный в OS X v10.8 и позже.
-
Имя связалось с объектом камеры.
Обсуждение
Можно обеспечить описательное имя для объекта камеры сделать управление графиком сцены проще. Камеры, загруженные из файла сцены, могут иметь имена, присвоенные художником, использующим 3D инструмент разработки. Используйте
SCNSceneSource
класс для исследования камер в файле сцены, не загружая его график сцены.Имена камеры сохраняются при экспорте сцены в файл с помощью
writeToURL:options:delegate:progressHandler:
метод. Эти имена также появляются в редакторе сцены XCode. Представление статистики SceneKit (см.showsStatistics
) показывает имена узлов с объектами прикрепленной камеры (который может не соответствовать имена самих объектов прикрепленной камеры).Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.8 и позже.
-
Близкий предел глубины камеры. Animatable.
Обсуждение
Близкое значение определяет минимальное расстояние между камерой и видимой поверхностью. Если поверхность ближе к камере, чем это расстояние, поверхность отсекается и не появляется. Близкое значение не должно быть нулем. Значение по умолчанию около значения
1.0
.Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.
Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.8 и позже.
См. также
-
Далекий предел глубины камеры. Animatable.
Обсуждение
Далекое значение определяет максимальное расстояние между камерой и видимой поверхностью. Если поверхность более далека от камеры, чем это расстояние, поверхность отсекается и не появляется. Далекое значение по умолчанию
100.0
.Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.
Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.8 и позже.
См. также
-
Поле зрения камеры, в градусах, на вертикальной оси. Animatable.
Обсуждение
Поле зрения является углом, определяющим степень сцены, видимой к камере, подобной тому из реального объектива фотокамеры. Маленький угол поля зрения обеспечивает узкое представление, и большое поле зрения обеспечивает широкое представление. Очень широкое поле зрения приводит к искаженной перспективе.
SceneKit позволяет горизонтальному и вертикальному полю зрения быть установленным независимо. По умолчанию, оба
xFov
иyFov
свойства являются нулем, заставляя SceneKit использовать вертикальное поле зрения на 60 ° и автоматически скорректировать горизонтальное поле зрения для адаптации форматному соотношению средства рендеринга, не искажая изображение. Если Вы устанавливаете только одно из свойств поля зрения к ненулевому значению, использование SceneKit, оценивающее за его ось и автоматически корректирующее поле зрения в другой оси. При установке обоих свойств SceneKit использует свойство, что лучшие адаптации текущее форматное соотношение средства рендеринга и автоматически корректируют поле зрения в другой оси.Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.
Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.8 и позже.
-
Поле зрения камеры, в градусах, на горизонтальной оси. Animatable.
Обсуждение
Поле зрения является углом, определяющим степень сцены, видимой к камере, подобной тому из реального объектива фотокамеры. Маленький угол поля зрения обеспечивает узкое представление, и большое поле зрения обеспечивает широкое представление. Очень широкое поле зрения приводит к искаженной перспективе.
SceneKit позволяет горизонтальному и вертикальному полю зрения быть установленным независимо. По умолчанию, оба
xFov
иyFov
свойства являются нулем, заставляя SceneKit использовать вертикальное поле зрения на 60 ° и автоматически скорректировать горизонтальное поле зрения для адаптации форматному соотношению средства рендеринга, не искажая изображение. Если Вы устанавливаете только одно из свойств поля зрения к ненулевому значению, использование SceneKit, оценивающее за его ось и автоматически корректирующее поле зрения в другой оси. При установке обоих свойств SceneKit использует свойство, что лучшие адаптации текущее форматное соотношение средства рендеринга и автоматически корректируют поле зрения в другой оси.Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.
Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.8 и позже.
-
Объявление
Swift
var automaticallyAdjustsZRange: Bool
Objective C
@property(nonatomic) BOOL automaticallyAdjustsZRange
Обсуждение
Значение по умолчанию этого свойства
NO
false
, указание, что камераzNear
иzFar
свойства управляют его пределами глубины. Если Вы изменяете значение этого свойства наYES
true
, SceneKit автоматически корректирует пределы глубины во время отображения для адаптации ограничительной рамке сцены. Изменение значенийzNear
иzFar
свойства автоматически сбрасывают значение этого свойства кNO
false
.Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.9 и позже.
-
Булево значение, определяющее, использует ли камера ортогональную проекцию.
Объявление
Swift
var usesOrthographicProjection: Bool
Objective C
@property(nonatomic) BOOL usesOrthographicProjection
Обсуждение
Значение по умолчанию этого свойства
NO
false
, указание перспективной проекции. В перспективной проекции одинаково измеренные объекты ближе к камере кажутся больше, чем те дальше.Установите значение этого свойства к
YES
true
указать ортогональную проекцию. В ортогональной проекции одинаково измеренные объекты кажутся одинаково измеренными независимо от расстояния от камеры.Для управления фактором увеличения ортогональной камеры используйте
orthographicScale
свойство.Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.8 и позже.
См. также
-
orthographicScale orthographicScale
СвойствоУказывает фактор увеличения камеры при использовании ортогональной проекции.
Объявление
Swift
var orthographicScale: Double
Objective C
@property(nonatomic) double orthographicScale
Обсуждение
В ортогональной проекции одинаково измеренные объекты кажутся одинаково измеренными независимо от своего расстояния от камеры. Для переключения между ортогональными и перспективными проекциями посмотрите
usesOrthographicProjection
свойство.Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
Возвращает трансформацию проекции камеры.
Объявление
Swift
func projectionTransform() -> SCNMatrix4
Objective C
- (SCNMatrix4)projectionTransform
Обсуждение
Эта трансформация выражает комбинацию геометрических свойств всей камеры: тип проекции (перспектива или ортогональный), поле зрения, пределы глубины и ортогональный масштаб (если применимо). SceneKit использует эту трансформацию для преобразования точек в координатном пространстве узла камеры к 2D пространству средства рендеринга при рендеринге и обработке событий.
Если приложение должно преобразовать между представлением и координатами средства рендеринга для других целей, можно использовать эту трансформацию непосредственно.
Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.8 и позже.
-
Указывает трансформацию проекции для камеры.
Объявление
Swift
func setProjectionTransform(_
projectionTransform
: SCNMatrix4)Objective C
- (void)setProjectionTransform:(SCNMatrix4)
projectionTransform
Параметры
projectionTransform
Трансформация проекции.
Обсуждение
Эта трансформация выражает комбинацию геометрических свойств всей камеры: тип проекции (перспектива или ортогональный), поле зрения, пределы глубины и ортогональный масштаб (если применимо). SceneKit использует эту трансформацию для преобразования точек в координатном пространстве узла камеры к 2D пространству средства рендеринга при рендеринге и обработке событий.
При вычислениях собственной матрицы трансформации проекции можно использовать этот метод для установки ее непосредственно, переопределяя трансформацию, синтезируемую от геометрических свойств камеры.
Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
focalDistance focalDistance
СвойствоРасстояние от камеры, в которой объекты появляются в резком фокусе. Animatable.
Обсуждение
Объекты на этом расстоянии от камеры кажутся отлично фокусируемыми. Объекты ближе к или дальше от камеры, чем это расстояние все более и более кажутся размытыми (на сумму размытости, указанной
focalBlurRadius
свойство). Фокусное расстояние по умолчанию10.0
.Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.
Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
Ширина расстояния располагается, в котором объекты появляются в резком фокусе. Animatable.
Обсуждение
focalDistance
свойство указывает, как далеко далеко от камеры объект состоит в том, чтобы появиться в резком фокусе. Фокальный размер указывает, как широкий область вокруг того расстояния также появляется в резком фокусе. Размер фокуса по умолчанию0.0
, указание, что переход от резкого до размытого сразу начинается для объектов ближе к или дальше от камеры, чем фокусное расстояние. Когда фокальный размер является ненулевым, он указывает расстояние между самым близким, которым объект может быть к камере и остаться в резком фокусе к самому дальнему, которым объект может быть от камеры и остаться в резком фокусе.Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.
Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
focalBlurRadius focalBlurRadius
СвойствоМаксимальная сумма размывания, в пикселях, применилась к областям вне глубины резкости камеры. Animatable.
Объявление
Swift
var focalBlurRadius: CGFloat
Objective C
@property(nonatomic) CGFloat focalBlurRadius
Обсуждение
Значение по умолчанию этого свойства
0.0
, отключение визуального эффекта глубины резкости. Изменение этого свойства к ненулевому значению включает эффект глубины резкости, в котором только возражает на указанном расстоянии от камеры, появляются в резком фокусе, и возражает ближе против, или дальше от камеры все более и более кажутся размытыми (до суммы, указанной этим свойством).Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.
Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
Фактор, определяющий переход между и расфокусированными областями в фокусе. Animatable.
Обсуждение
Объекты на расстояниях от камеры вне ее глубины резкости (указанный
focalDistance
иfocalSize
свойства), все более и более кажутся размытыми (до значенияfocalBlurRadius
свойство). Апертура управляет внезапностью перехода между резким и размытым — низкая стоимость указывает резкий переход, и более высокое значение указывает постепенный переход. Апертура по умолчанию0.125
(или 1/8).Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.
Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
categoryBitMask categoryBitMask
СвойствоМаска, определяющая, которому принадлежат категории эта камера.
Объявление
Swift
var categoryBitMask: Int
Objective C
@property(nonatomic) NSUInteger categoryBitMask
Обсуждение
Каждая камера и каждый узел в сцене могут быть присвоены одной или более категориям, каждый соответствующий немного в битовой маске. Вы определяете значения маски, используемые в Вашем приложении. Когда SceneKit представляет сцену, он выдерживает сравнение
categoryBitMask
свойство каждого узла с тем изpointOfView
камера с помощью поразрядной операции И. Если результатом является ненулевое значение, SceneKit представляет содержание узла. Используйте это свойство для создания некоторых узлов в сцене видимыми только к определенным камерам.Маска по умолчанию имеет весь набор битов, означая, что узлы всех категорий видимы к камере.
Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.10 и позже.