Информация, которая возвращается с помощью THREE.Raycaster
, содержит расстояние до объекта, и если более 1 объекта возвращаются, тогда объекты сортируются по его расстоянию (например, intersections[0].distance
). Вы можете сравнить эти расстояния, чтобы найти объект с ближайшим расстоянием.
Но я рекомендую использовать один тест intersectObject
со всеми объектами. Ссылку на ближайший объект можно сравнить с помощью ==
или ===
с известным объектом.
Сгенерируйте массив, содержащий объекты fnup
, old
, cam
и alex
, и сравните результат intersectObject
с объектами:
var objects = [fnup, old, cam, alex];
var intersections = raycaster.intersectObjects(objects)
if (intersections.length > 0) {
if ( intersects[0].object == fnup ) {
// [...]
}
if ( intersects[0].object == old ) {
// [...]
}
if ( intersects[0].object == cam ) {
// [...]
}
if ( intersects[0].object == alex ) {
// [...]
}
}
Как упомянуто Милей L и Начальной загрузкой Голове Расширенное Ключевое Использование - то, что определяет цель, для которой может использоваться ключ.
Большинство коммерческих центров сертификации (Verisign и др.) выпускает сертификаты в единственных целях, или для как можно меньше.
Они используют это сужение puropse, чтобы вырезать различные рынки для сертификатов и затем оценить их соответственно.
Вы видите, что они продают различные сертификаты Подписи объекта за Windows Assemblies / Java / Office / Adobe Air и т.д., когда (в большинстве случаев) получающийся сертификат является тем же.
Например, сертификат Comodo codesigning вышел, здесь может подписать апплеты Java, приложения WebStart, расширения Firefox и даже блоки Windows.
Сертификат это используется для подписания программного обеспечения, является тем же сертификатом, который использовался бы для подписания любого документа. То, что является особенным в подписании программного обеспечения, - то, где подпись наконец находится. В типичном подписании документа подпись просто добавляется к оригиналу документа. Вы не можете добавить подпись к большинству типов программного обеспечения по очевидным причинам (некоторые интерпретируемые языки позволили бы это, но я не знаю, сделано ли оно на практике).
Решения проблемы подписи варьируются на основе среды выполнения. Для исполняемого двоичного файла подпись часто хранится в отдельном файле. В Java можно было встроить подпись в исполняемый файл JAR.
Microsoft имеет хорошую ссылку для введения в процесс подписания.
Это зависит от того, что Вы делаете с ним. Если Вы хотите, чтобы сертификат был принят браузером в коммуникации SSL, то ему нужно было установить корневой сертификат в браузере. Сертификатам, сгенерированным полномочиями уже, установили их корневые сертификаты в браузерах.
Если Вы используете сертификат только для подписания блока, то Вам не нужен он. Это зависит от того, кто проверяет сертификат и заботятся ли они, является ли корень известными полномочиями.
Больше здесь:
Когда сертификат называют в действие, роль, которую это подразумевает выполнять, так же важна как идентификация. Это не примерно идентификационные данные, но также и о ролевой авторизации. Почтовый сертификат защиты не должен мочь выполнить аутентификацию сервера. Проблемы безопасности диктуют необходимое ограничение в питании, данном через единственный сертификат. Базовый API должен осуществить корректное использование, быть им через ОС или абстракцию, такую как Платформа.NET.
Существуют различные типы сертификата, потому что существуют совсем другие роли в аутентификации и авторизации, для которой были бы нужны они. Разрешение различных типов сертификата и иерархий допускает модель цепочек сертификата, как найдено в "Пути Сертификации" на сертификате. Сертификат Аутентификации сервера должен будет иметь сертификат CA верхнего уровня где-нибудь в доверяемых корневых сертификатах... или быть частью родословной сертификатов, которая в конечном счете делает. Сторонние Центры сертификации, я уверен, оценивают их в масштабе функциональности и доверия.
Начальная загрузка Голове является правильной... существует Расширенный Ключевой атрибут Использования, который предоставляет описание того, чем сертификат утверждает роли быть (например, Аутентификация сервера; или в случае сертификата моего CA: Цифровая подпись, Подписание Сертификата, Офлайновое Подписание CRL, Подписание CRL). Посмотрите на детали в свойствах сертификата, и Вы найдете его.
К моему знанию сертификаты имеют "ключевое использование" атрибут, который описывает то, что использует сертификат, предназначается для: сервер SSL, подписывание кода, почтовое подписание, и т.д. Таким образом, я думаю, что это до ОС, или веб-браузера, или почтового клиента, для проверки этих битов.
Я также добавил бы, что блок.NET нужно сильно назвать (который требует, чтобы это было подписано), чтобы быть добавленным к GAC.
Существуют различные типы сертификатов... от CA, который связывается в сервере Win 2003, можно запросить: