У меня возник вопрос о том, как показать простое 2-мерное изображение поверх обнаруженного маркера. Я следил за некоторым учебным пособием, чтобы показать 3d-модель, и она отлично работает. с 3d нет проблем. Проблема начинается, когда я хочу добавить обычный 2d object-> sprite. Когда я добавляю простой спрайт, я не могу добавить текстуру, и когда я вставляю изображение в пользовательском интерфейсе, он добавляется вместе с холстом, и он не отображается при обнаружении цели. Исходное изображение на редакторе помещается тогда, пока его трудно найти. Я был бы признателен, если кто-то может подчеркнуть меня в правильном направлении.Обнаружено единство с vuforia, показывающее изображение 2d при наведении
ответ
Под вашим ImageTarget
вам нужно иметь что-то вроде скрипта Trackable Event Handler. По умолчанию это DefaultTrackableEventHandler
.
Вы можете найти там два метода: OnTrackingFound()
& OnTrackingLost()
. Как видно из этих методов, эти методы включают или отключают Colliders
и Renderes
, поэтому нет проблем с показом 3D-моделей, когда цель обнаружена. Для показа 2D-объектов, таких как Canvas или Sprite, вам необходимо изменить эти методы и несколько строк.
Например:
private void OnTrackingFound() {
Renderer[] rendererComponents = GetComponentsInChildren<Renderer>(true);
Collider[] colliderComponents = GetComponentsInChildren<Collider>(true);
Canvas[] canvasComponents = GetComponentsInChildren<Canvas>(true);
foreach (Canvas component in canvasComponents) {
component.enabled = true;
}
// Enable rendering:
foreach (Renderer component in rendererComponents) {
component.enabled = true;
}
// Enable colliders:
foreach (Collider component in colliderComponents) {
component.enabled = true;
}
Debug.Log("Trackable " + mTrackableBehaviour.TrackableName + " found");
}
Это помогает в моем случае.
сэр, как насчет случайного слова, тогда сценарий - это когда одно слово было показано, что оно никогда больше не отображается – CSMgameclub
Я не уверен, понял ли я вас сейчас. Можете ли вы объяснить, что вы подразумеваете под словом «слово»? –
для случайного текстового сэра, например, когда «водород» отображается в случайном тексте, а затем, если случайный текст изменится, слово «Водород» будет включено. – CSMgameclub
Я не очень хорошо знаком с Unity api, но посмотрите здесь ответ, посмотрите, поможет ли он: http://stackoverflow.com/questions/27953393/unity3d-with-vuforia-showing-2d- image-when-targed-is-detected – yakobom