SCNHitTestResult
Тестирование хита является процессом нахождения элементов сцены, расположенной в указанной точке, или вдоль указанного линейного сегмента (или луч). SCNHitTestResult объект предоставляет подробную информацию об одном результате поиска теста хита. Существует три способа выполнить поиск теста хита. Используйте hitTest:options: метод SCNView объект (или другое средство рендеринга сцены), hitTestWithSegmentFromPoint:toPoint:options: метод узла, или rayTestWithSegmentFromPoint:toPoint:options: метод мира физики Вашей сцены.
При выполнении поиска теста хита SceneKit ищет SCNGeometry объекты вдоль луча Вы указываете. Для каждого пересечения между лучом и и геометрия, SceneKit создает результат испытаний хита для предоставления информации об обоих SCNNode объект, содержащий геометрию и расположение пересечения на поверхности геометрии.
Оператор импорта
Swift
import SceneKit
Objective C
@import SceneKit;
Доступность
Доступный в OS X v10.8 и позже.
-
geometryIndex geometryIndexСвойствоИндекс элемента геометрии, поверхность которого поисковый луч пересекается. (только для чтения)
Объявление
Swift
var geometryIndex: Int { get }Objective C
@property(nonatomic, readonly) NSInteger geometryIndexОбсуждение
Каждый
SCNGeometryобъект содержит один или большеSCNGeometryElementобъекты, определяющие, как его вершины соединяются для формирования поверхности. Это свойство обеспечивает индекс элемента геометрии, пересекающего поисковый луч. Для получения дополнительной информации о том элементе геометрии, используйте геометриюgeometryElementAtIndex:метод.Оператор импорта
Objective C
@import SceneKit;Swift
import SceneKitДоступность
Доступный в OS X v10.8 и позже.
-
Индекс примитива в geomety элементе, пересеченном поисковым лучом. (только для чтения)
Объявление
Swift
var faceIndex: Int { get }Objective C
@property(nonatomic, readonly) NSInteger faceIndexОператор импорта
Objective C
@import SceneKit;Swift
import SceneKitДоступность
Доступный в OS X v10.8 и позже.
См. также
-
localCoordinates localCoordinatesСвойствоТочка пересечения между геометрией и поисковым лучом, в системе локальной координаты узла, содержащего геометрию. (только для чтения)
Объявление
Swift
var localCoordinates: SCNVector3 { get }Objective C
@property(nonatomic, readonly) SCNVector3 localCoordinatesОператор импорта
Objective C
@import SceneKit;Swift
import SceneKitДоступность
Доступный в OS X v10.8 и позже.
См. также
-
worldCoordinates worldCoordinatesСвойствоТочка пересечения между геометрией и поисковым лучом, в системе мировой координаты сцены. (только для чтения)
Объявление
Swift
var worldCoordinates: SCNVector3 { get }Objective C
@property(nonatomic, readonly) SCNVector3 worldCoordinatesОператор импорта
Objective C
@import SceneKit;Swift
import SceneKitДоступность
Доступный в OS X v10.8 и позже.
См. также
-
localNormal localNormalСвойствоПоверхностный вектор нормали при пересечении, в системе локальной координаты узла, содержащего геометрию, пересеченную поисковым лучом. (только для чтения)
Объявление
Swift
var localNormal: SCNVector3 { get }Objective C
@property(nonatomic, readonly) SCNVector3 localNormalОператор импорта
Objective C
@import SceneKit;Swift
import SceneKitДоступность
Доступный в OS X v10.8 и позже.
См. также
-
worldNormal worldNormalСвойствоПоверхностный вектор нормали при пересечении, в системе мировой координаты сцены. (только для чтения)
Объявление
Swift
var worldNormal: SCNVector3 { get }Objective C
@property(nonatomic, readonly) SCNVector3 worldNormalОператор импорта
Objective C
@import SceneKit;Swift
import SceneKitДоступность
Доступный в OS X v10.8 и позже.
См. также
-
modelTransform modelTransformСвойствоМировая матрица преобразования узла, содержащего пересечение. (только для чтения)
Объявление
Swift
var modelTransform: SCNMatrix4 { get }Objective C
@property(nonatomic, readonly) SCNMatrix4 modelTransformОбсуждение
Используйте эту матрицу для преобразования векторов от пространства локальной координаты узла, геометрия которого пересечена поисковым лучом к системе мировой координаты сцены.
Оператор импорта
Objective C
@import SceneKit;Swift
import SceneKitДоступность
Доступный в OS X v10.8 и позже.
-
Возвращает координаты текстуры при пересечении для указанного канала отображения текстур.
Объявление
Параметры
channelИндекс отображающегося канала, в котором можно искать координаты текстуры.
Возвращаемое значение
Координаты текстуры при пересечении, или
CGPointZeroесли геометрия не имеет источника координаты текстуры для указанного канала.Обсуждение
SCNGeometryобъект может содержать многократные источники координат текстуры или каналы отображения текстур. (С многократными каналами можно отобразить изображения текстуры для различных свойств материала по-разному.) Для использования координат текстуры результата испытаний хита укажите который источник координаты текстуры искать координаты в.Например, для добавления “ожога отмечает” к игровому символу, пораженному лазером, Вы могли бы изменить изображение текстуры, отображенное на
multiplyсвойство материала геометрии. ИспользуйтеmappingChannelиндекс от той материальной собственности какchannelпараметр при вызовеtextureCoordinatesWithMappingChannel:гарантировать, чтобы Вы изменили корректное расположение в изображении текстуры.Оператор импорта
Objective C
@import SceneKit;Swift
import SceneKitДоступность
Доступный в OS X v10.8 и позже.
