Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.09.2019, 09:36   #1
realLarkin
Пользователь
 
Регистрация: 23.09.2019
Сообщений: 41
Сообщение Помогите разобраться с "киданием лучей"

Наткнулся на книгу по юнити где все объясняеться довольно поверхностно. Мне как новичку сложно понять как что работает по этим абстрактным комментариям к коду. По первой части где мы получаем доступ к компоненту камеры все понятно. там где мы задаём переменную типа vector3 point с координатами середины экрана все тоже предельно ясно. Но вот с момента где создаётся переменная класса Ray, я в замешательстве ведь не понятно что за функции используются, какие данные они возвращают, как работают. Объясните пожалуйста или дайте ссылку где можно прочесть это более подробно на русском.
Код:
using UnityEngine;
using System.Collections;
public class RayShooter : MonoBehaviour {
 private Camera _camera;
 void Start() {
_camera = GetComponent<Camera>(); // Доступ к другим компонентам, присоединенным к этому же объекту.
}
void Update() {
if (Input.GetMouseButtonDown(0)) { // еакция на нажатие кнопки мыши.
Vector3 point = new Vector3( // Середина экрана — это половина его ширины и высоты.
_camera.pixelWidth/2, _camera.pixelHeight/2, 0);
Ray ray = _camera.ScreenPointToRay(point); // Создание в этой точке луча методом ScreenPointToRay().
RaycastHit hit;
if (Physics.Raycast(ray, out hit)) { ¬
// спущенный луч заполняет информацией переменную, на которую имеется ссылка.
Debug.Log("Hit " + hit.point); // Загружаем координаты точки, в которую попал луч.
}
}
}
}

Последний раз редактировалось Alex11223; 23.09.2019 в 09:54.
realLarkin вне форума Ответить с цитированием
Старый 23.09.2019, 09:41   #2
realLarkin
Пользователь
 
Регистрация: 23.09.2019
Сообщений: 41
По умолчанию

Почему тема испоганилась
realLarkin вне форума Ответить с цитированием
Старый 23.09.2019, 09:48   #3
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

https://programmersforum.ru/showpost...66&postcount=4
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 23.09.2019, 10:52   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

https://docs.unity3d.com/ScriptRefer...ointToRay.html
p51x вне форума Ответить с цитированием
Старый 23.09.2019, 11:16   #5
realLarkin
Пользователь
 
Регистрация: 23.09.2019
Сообщений: 41
По умолчанию

На Английском не понимаю к сожалению
realLarkin вне форума Ответить с цитированием
Старый 23.09.2019, 11:19   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

гугл транслейт в помощь
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Требуется помощь с трассировкой лучей. NikitaAsfrid Помощь студентам 0 04.06.2014 21:52
Трассировка лучей, отрисовка без огл и директ х. WebbMan Общие вопросы C/C++ 0 03.11.2013 19:28
Метод трассировки лучей обратный Rio309 Помощь студентам 0 13.12.2011 19:27
Задать интервал лучей солнца gylayko Помощь студентам 5 11.12.2011 19:37
Трассировка лучей facebook23 Помощь студентам 0 08.06.2011 23:45