Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
 Аватар для Аруми
2 / 2 / 1
Регистрация: 29.05.2012
Сообщений: 107

Разница координат камеры и рабочей области

13.05.2018, 14:25. Показов 2469. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Недавно начала осваивать Unity.
Делаю 2D игрушку, необходимо было реализовать движение объекта по вектору в сторону противоположную от места "клика" мышкой. Ну, естественно, пришло в голову взять координаты клика (Input.mousePosition) и координаты самого объекта (transform.position.x и transform.position.y), вычесть из второго первое, прибавить это к текущему положению объекта и получить таким образом новую векторную координату, куда теоретически должен двигаться объект. Но недолго мучаясь поняла, что координаты "клика" берутся относительно области камеры (то есть точка 0,0 - это нижний левый угол), а координаты объекта - непосредственно из координатной системы самой рабочей сцены. И получилась небольшая несостыковочка...

В общем, вопрос такой: есть ли у объектов в Unity такой параметр, который определяет их положение в координатах камеры или "клик" определяет по координатам рабочей области? ...или как по-другому можно было бы исправить эту проблему?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.05.2018, 14:25
Ответы с готовыми решениями:

В рабочей области отображена надпись "Нажмите правую клавишу мыши над рабочей областью"
Здравствуйте, нужна помощь с заданием. В рабочей области отображена надпись "Нажмите правую клавишу мыши над рабочей...

Разница между рабочей группой
Всем привет! 1С Документооборот 2.0 А кто знает - какая разница между рабочей группой шаблона документа и просто рабочей группой в...

Размеры рабочей области
Добрый день, подскажите, пожалуйста, как узнать размеры рабочей области фрейма? Значения, полученные с помощью getWidth() =...

2
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10427 / 5157 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
13.05.2018, 18:20
Аруми,
Для преобразования экранных координат в мировые используйте следующий метод:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    public static Vector3 ScreenToWorld(Camera camera, Vector3 pos, float? z = null)
    {
        if (camera.orthographic)
        {
            var p = camera.ScreenToWorldPoint(new Vector3(pos.x, pos.y, camera.nearClipPlane));
            p.z = z != null ? (float)z : 0f;
            return p;
        }
        else
        {
            var ray = camera.ScreenPointToRay(new Vector3(pos.x, pos.y, camera.nearClipPlane));
            var d = z != null ? (float)z : 20f;
            var p = camera.transform.position + ray.direction * d;
            return p;
        }
    }
0
 Аватар для Аруми
2 / 2 / 1
Регистрация: 29.05.2012
Сообщений: 107
13.05.2018, 20:05  [ТС]
Storm23, спасибо! попробую~
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.05.2018, 20:05
Помогаю со студенческими работами здесь

Интерфейс рабочей области
Здравствуйте! Как сделать такие вкладки на 1С 8.2? И как задавать наименования таким вкладкам?

Деление рабочей области
Здравствуйте! Подскажите пожалуйста как или при помощи каких функций можно разделить рабочую область окна на 3. Чтобы Деление проходило по...

Перезапуск рабочей области
Имеется вот такая форма (полный код приложен в архиве), я только пару дней работаю с графическими оболочками и в частности ВинФормс,...

Расширение рабочей области
Всем привет. Столкнулся с такой проблемой: не могу расширить рабочую область. Хотелось бы подвинуть границы. Какое именно значение width...

Нестандартное оформление рабочей области
Как правило рабочая область сайта оформляется путем создания "обойного" фона, который повторяется на всем ее пространстве. Недавно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru