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 и позже.