Форумы на Наша-Life
Home user CP  
Календарь событий Найти других пользователей Часто задаваемые Вопросы Поиск  
Автор
Тема
Создать Новую Тему    Ответить
FishMan
(Real Project Leader)

Зарегистрирован: Jul 2003
Проживает: /
Написал: 9467 сообщений

Оценка: 143 Votes 143 чел.

Старожил Developer 
Коллиматорный прицел, реально ли?
Сообщение #800853
Вопрос к кодерам. Реально сли сделать точную симуляцию коллиматорного прицела на движке сурса? Т.е. чтобы при поворотах оружия положение точки в прицеле сдвигалось имитируя собой проекцию на место, куда попадёт пуля, а при смене угла обзора точка перемещалась так, чтобы оставаться в неизменном положении относительно пространства и при этом была замкнута внутри области (например текстуры или полигона) представляющего собой прицел.
Принцип работы настоящего коллиматорного прицела: №1 и №2.

До этого в играх, даже коммерческих, не делалось никогда, так что мы с вами будем первопроходцами. =)
В играх обычно просто рисуют красную точку по середине, но на самом деле это упрощение очень далеко от истины =)

Интересует алгортим или идея...
ЗЫ Для меня это магия, но, думаю, если разобраться в том, как работает настоящий прицел (по оптическим законам), то можно будет сымитировать это и в игре... хз Жду ваших идей.

Прошу оценить идею и написать насколько это реально и есть ли среди вас человек, способный это реализовать (иными словами вы четко представляете себе как это будет выглядеть в коде)?

Если реализовать, то это будет свехбыстрая и точная система наведения в игре (очень полезная в ближнем бою и точная на средних расстояниях), если оружие отвязать от конкретного местоположения и сделать так же как в Insurgency (т.е. плавающий ствол). В этой системе движения мышки меняют ориентацию не только экрана, но и оружия в руках бойца, понятнее всего будет если я упомяну Аrmed Assault или FlashPoint...
──╔═══╗| Displacement Sculpting
╔╗║╔══╝| --------------
╚╝║╚═╗─| Владимир Чернышёв (OBA Main Character) by Flagg
╔╗║╔═╝─| --------------
╚╝║╚══╗| Operation Broken Arrow: Seven Hour War
──╚═══╝| --------------


The "Earth" without "art" is just "eh"

Поправил FishMan 19-12-2008 в 10:49

Old Post 19-12-2008 08:25
FishMan отсутствует Посмотреть данные 'FishMan' Отправить Приватное Сообщение для 'FishMan' Найти другие сообщения 'FishMan' Добавить FishMan в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Doctor5772
(Someone)

Зарегистрирован: Nov 2007
Проживает: Россия/
Написал: 1050 сообщений

Оценка: 33 Votes 33 чел.

Старожил 
Сообщение #800870
реально, но тогда придется много кодить... В Гмоде 10 я как то видел такуюфичу, но она на LUA написанна и ч
весит дофига
Old Post 19-12-2008 09:26
Doctor5772 отсутствует Посмотреть данные 'Doctor5772' Отправить Приватное Сообщение для 'Doctor5772' Найти другие сообщения 'Doctor5772' Добавить Doctor5772 в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
KLIMaka
(Президент Мира - Броука!)

Зарегистрирован: Dec 2007
Проживает: Украина/Запорожье
Написал: 456 сообщений

Оценка: 28 Votes 28 чел.

Сообщение #800871
способ 1
Самый простой и элементарный, но требующий materiallib. Находим точку пересечения луча, идущего из ствола с препятствием. В найденной точке рисуем спрайтик с шейдером, который просто в стенсил буфер заносит 1 . Затем рисуем наш прицел с шейдером, который засвечивает все точки, помеченные в стенсил буфере единичкой, красным цветом. Просто и изящно, но нжны шейдеры, а в ОБ СДК пока их нет

способ 2
Чуть сложнее, но шейдеры не нужны. Опять трассируем луч из ствола. Из найденой точки проводим вектор в глаза (вектор ТГ назовем). Затем находим проекцию ТГ на плоскость нашего прицела. Проекция эта будет началом своим иметь центр прицела, а концом - точку, в которой должна быть видна наша метка. Проверяем, лежит ли эта метка в границах прицела и если лежит, то выводим ее на плоскости прицела. Но здесь нужно будет произвести еще дополнительные телодвижения - выводить метку без z-теста, Ибо метка лежит прямо на плоскости, и из-за погрешностей z-буфера может частично не вывестись (вспомните некоторые декали в хаммере). К тому же мы находим только центр метки, а она скорее всего не в один пиксель размером, и поэтому какаято ее часть может вылезти за края прицела.

способ 3
В принципе повторяет способ 2, но в этом случае мы не выводим отдельно метку, а выводим прицел, с текстурой, на которой изображена метка, при этом текстурные координаты вычисляются как проекция вектора ТГ в предыдущем способе. При этом нам не прийдется заботится ни о z-тесте, ни об выхождении метки за границы прицела, это за нас сделает настроечка в текстуре ClampU и ClampW. Но как менять текстурные координаты на модели я не знаю, так что кто знает - отпишитесь ))

Вот такие вот пироги, Фиш. Только рассчитывай, что ретрейс луча каждый кадр чуток просадит ФПС на не очень мощных машинах. Я, например, ощущал На своем PIV 2.4 NorthWood`е разницу между РПГ и без нее.
Old Post 19-12-2008 09:32
KLIMaka отсутствует Посмотреть данные 'KLIMaka' Отправить Приватное Сообщение для 'KLIMaka' Найти другие сообщения 'KLIMaka' Добавить KLIMaka в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
FishMan
(Real Project Leader)

Зарегистрирован: Jul 2003
Проживает: /
Написал: 9467 сообщений

Оценка: 143 Votes 143 чел.

Старожил Developer 
Сообщение #800891
Ну моя идея следующая (вынес отдельным сообщением) я не кодер, но всё же:
На конце ствола есть аттачмент, который проецируется на объект, стену или какую-то цель, т.е. рисуется вектор из кончика ствола и на конце (т.е. в точке пересечения вектора с какойто поверхностью) рисуется спрайт, который на экране всегда принимает одинаковый размер (т.е. имеет всегда одинаковый размер в пикселях на экране, вне зависимости от удалённости). Принцип в точности такой же, как лазер у RPG, только там размер точки меняется. А вот дальше пошло нововведение - точка (энтитя) рендерится только в том случае, если на экране она попадает в регион определённой текстуры присвоенной модели, например со специальным параметром или шейдером... но вот вопрос... как вычислить этот регион? Оо Т.е. нужно что-то, что генерировало бы нечто вроде альфа канала, т.е. область, в которой точка показывается и область в которой точка не показывается (но она есть в любом случае).

Ведь он может быть и овальной и круглой формы, в зависимости от того, как повернут ствол... или вообще хаотичной формы, всякие конфигурации колиматоров есть.

Но тут есть и существенный недостаток! Если перевести прицел с ближнего объекта на дальний, то визуально точка перепрыгнет или же магически начнёт двигаться в другую сторону, например если перед нами есть тонкая стенка, а за ней вдалеке что-то и как бы из-за угла вектор "светит" на дальние объекты и если перевести точку с этой плоской стенки влево, то достигнув края, то конец вектора перескочит на дальние объекты и а визуально резко перескочит вправо, ну или ещё чего произойдёт страшное произойдёт... =\ Как эту проблему решить? Рисовать невидимую плоскость и вычислять всё относительно неё? Оо
Т.е. предварительное точное вычисление, куда попадёт пуля в 3Д пространстве отбрасываем сразу, ибо это будет магия, а колиматор всё-таки не магия, а всего лишь галограмма. Т.е. тут либо специальную плоскость создавать, невидимую для игрока, находящуюся на определённом, фиксированном расстоянии, расстояние может быть любым и на её поверхности уже всё вычислять, т.е. нужно что-то, что неменяет своё положение относительно игрока.

Клим, а ведь Збуффер можно игнорировать... Картинка метки всё равно всегда одного и того же размера и просто выводится только в том случае, если попадает в регион, перекрытие другими объектами не нужно, точку можно рисовать на плоскости экрана, а не на самой текстуре, вычислив все пиксели, которые относятся к стеклу прицела. А чтобы на границе точка не налазила на модель, размеры региона, в котором точка рендерится, можно уменьшить на диаметр точки, чтобы точка пропадала до того, как коснётся того места, где стеклянный прицел переходит в метал.

И... по поводу оптимизации, можно вычислить заранее положение точки для критических уголов поворота оружия (т.е. продолжение двежений мыши в том же направлении привёдёт к повороту экрана), а из этих критических значений уже вычислять средние. Т.е. надо предварительно задать положение точки на экране в пяти экстремальных положениях (по середине, сверху, снизу, справа с лева), а потом просто вычислять промежуточные значения, вместо рилтайм вычислений с помощью проекций, но тогда положение центра оружия должно оставаться не изменным, т.е. оружие нельзя передвигать, только вращать.

Или же... Можно отбросить эксперементальность и сделать всё точно, но предварительно. Т.е. чтобы комп сам расчитал всё для критических углов, запомнил результаты, а потом просто высчитывал бы промежуточные значения при изменении положения мыши. Это легче чем считать проекцию.

Вся проблема в том, чтобы правильно задать регион рендера этой точки.

По поводу этого:
Если использовать только круглое стекло колиматора, можно рисовать это внутри окружности (ствол направлен идеально перпендикулярно экрану) и добавляя коэффициенты к x и y пропорциональные повороту ствола можно получать элипсы...
Но тут стекло колиматора должно быть ни где, как точно в центре экрана, а вращение вокруг центра этой стекляшки... чтобы в плоскости это выглядело, как сжимание и растяжение по осям.

Т.е. вывод такой - можно вообще ничего не вычислять рилтайм, а всё сделать фейк, т.е. эксперементально установить куда попадёт пуля при определённом максималном угле, который будет видно в области прицела, сделать его критическим (т.е. двигаем мышь дальше - уже поворачивается экран, а не оружие), задать его математически (т.е. отрисовать положение на экране заранее, без расчётов, эксперементально), а потом в зависимости от движения мыши менять коэффициенты и положение точки на экране. Ещё раз подчёркиваю - по тому, что я предлогаю точка рисуется на экране (как HUD), а не на плоскости прицела...

А не отрисовывание точки на экране вычислять как: если координата x точки больше координаты x из формулы эллипсоида, то точку не рисовать =) Ну что-то вроде такого...
Ещё раз повторюсь я не кодер! Поправьте меня, что не так, не критикуйте. Я только учусь на программиста и не собираюсь в дальнейшем идти по этой специальности...

Цитата:
реально, но тогда придется много кодить...

Вопрос скорее сводится к есть ли тут такой человек, который в состоянии это реализовать и что нужно сделать, чтобы он это реализовал.

И да, речь идёт об Operation Broken Arrow...
Я кружки умелых ручек не организую, всё для конкретного применения. И раз уж я разговор завёл тут, то результат, если кто-то настолько добр и возьмётся, можно сделать и достоянием общественности.
──╔═══╗| Displacement Sculpting
╔╗║╔══╝| --------------
╚╝║╚═╗─| Владимир Чернышёв (OBA Main Character) by Flagg
╔╗║╔═╝─| --------------
╚╝║╚══╗| Operation Broken Arrow: Seven Hour War
──╚═══╝| --------------


The "Earth" without "art" is just "eh"

Поправил FishMan 19-12-2008 в 11:46

Old Post 19-12-2008 10:51
FishMan отсутствует Посмотреть данные 'FishMan' Отправить Приватное Сообщение для 'FishMan' Найти другие сообщения 'FishMan' Добавить FishMan в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
redbox
(Senior Member)

Зарегистрирован: Jan 2008
Проживает: Ukraine/Dnepr
Написал: 766 сообщений

Оценка: 16 Votes 16 чел.

Сообщение #800915
это все конечно прикольно, но в сорце нет ни тряски игрока при движении, ни возможности посмотреть в прицел под разными углами, ни тем более повертеть оружие в руках как нибудь так чтобы оно наклонилось туда или сюда. вариант симмитировать тряску специально трясущейся анимацией idle. но тогда и саму точку можно прилепить анимированной текстурой. кароч фэйки рулят...
Old Post 19-12-2008 12:23
redbox отсутствует Посмотреть данные 'redbox' Отправить Приватное Сообщение для 'redbox' Посетить домашнюю страничку redbox Найти другие сообщения 'redbox' Добавить redbox в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
KLIMaka
(Президент Мира - Броука!)

Зарегистрирован: Dec 2007
Проживает: Украина/Запорожье
Написал: 456 сообщений

Оценка: 28 Votes 28 чел.

Сообщение #800923
Фиш, вот глянь видео, хочу кое-что прояснить
http://ru.youtube.com/watch?v=YeXtjgi0Pu8

Вот там я из СМЖ через коллиматор стреляю. Там у меня вью-модель жестко привязана к глазам и поэтому маркер тем, где и должен быть. При стрельбе от бедра даже и прицела не видно, поэтому смысла мучатся с правдоподобным прицелом смысла нет. Т.е. единственное предназаначение прицела - стрелять через него. А когда ты стреляешь через него, то маркер на своем месте. В других случаях (перезарядка или стрельба от бедра) его или не видно, или он не нужен. Поэтому встает закономерный вопрос - а нужно ли это вообще?

Осмелюсь предположить, что хотелось бы чтобы при взгляде через прицел оружие было не привязано к глазам, а плавало. Т.е. повернулся влево - а оружие немного отстает и находится правее центра. Остановился - и оружие плавно становится по центру. Я правильно понимаю? Но опять-же при таком раскладе запаздывает от взгяда ствол, а не все оружие, т.е. задняя часть закреплена, а ствол плавает. При этом в 90% случаев у нас маркер будет уходить из поля видимости (ствол-то не совпадает с линией зрения), и опять же теряется смысл в этом прибамбасе. Маркер будет слегка смещатся (не уходя из области видимости) только в случае плавания не только ствола, а всего оружия. Но это слегка криво выглядеть будет. Ведь по идее стрелок упирает приклад в плече и при поворотах, приклад остается на своем месте, а ствол плавает.Даже не упирая пиклад, стрелок ближе и сильнее держит заднюю часть оружия, а ствол при этом плавает.

Поясни, если что не так понял.

Насчет отображения маркера на худе - не очень удачная затея. В общем случае достаточно трудно найти факт того, что точка попала в некую произвольную область. Если же упростить все, и принять область за круг или квадрат, то это будет накладывать жесткие ограничения на модель оружия, его поведение и проч.
Old Post 19-12-2008 12:40
KLIMaka отсутствует Посмотреть данные 'KLIMaka' Отправить Приватное Сообщение для 'KLIMaka' Найти другие сообщения 'KLIMaka' Добавить KLIMaka в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
 
FishMan
(Real Project Leader)

Зарегистрирован: Jul 2003
Проживает: /
Написал: 9467 сообщений

Оценка: 143 Votes 143 чел.

Старожил Developer 
Сообщение #800928
Вот погляди видео и всё поймёшь:
1, 2, 3, 4.

А лучше скачай и поиграй.
Так вот в чём суть идеи. Очень не удобно стрелять по открытому прицелу в центре экрана, но у этой системы альтернативы нет, разве что кроме той, что на видео (с плавающим прицелом, но это ещё неудобнее).
НО! Если не входить в режим прицеливания, ствол от бедра плавает по экрану ВРАЩАЯСЬ, т.е. можно даже изза угла стрелять, ибо там всё на аттачментах основано, а не на проекции из центра экрана. Грубо говоря куда смотрит аттачмент туда и летят пули, направление взгляда управляется мышью, т.е. некоторое расстояние (ооочень маленькое) мышь передвигает ствол, а не экран, а когда ствол доходит до максимального угла, то начинает двигаться экран.
Это очень удобно и на уровне подсознания работает, т.е. куда направляю туда и стреляю, даже без особой практики можно поражать цели на небольшом расстоянии ессесно, т.е. правильная, интуитивная, реализация стрельбы от бедра. Когда входишь в режим прицеливания, ориентация модели фиксированная, модель просто перемещается по экрану туда-сюда, когда доходит до края - экран сдвигается. Я же предлогаю это всё почти совместить, т.е. у тебя перед носом колиматор, движенями мышки ты его слегка поворачиваешь, в самом колиматоре бегает точка, направил точку на врага - нажал выстрел, враг убит, не надо ничего выцеливать по прицельным механизмам, сверхбыстрая система для чего и был придуман колиматор. Т.е. боец с колиматором имеет кучу приемуществ в ближнем бою, такие как: нижняя часть экрана не перекрыта, быстрое нацеливание и слежение за целью, тупо надо навести точку на врага и выстрелить, огромное приемущество при движении, ибо ты сразу видишь, куда попадёт пуля, не надо сопоставлять целик и мушку, которые очень сильно зависят от того, под каким углом ты на них смотришь, а тут это не важно, даже если ты плясать будешь или с крыши падать ты всегда можешь сделать точный выстрел, даже во время землетрясения... понимаешь?
А если это тупая точка в центре, которая не двигается, а приверчена на мертво - это то же самое, что открытый прицел, только нижняя часть экрана открытая...

Это нужно нам для последней миссии, где прицеливаться нужно будет молниеносно, ибо декарации индорные. Я ответил на твой вопрос?

Цитата:
Насчет отображения маркера на худе - не очень удачная затея. В общем случае достаточно трудно найти факт того, что точка попала в некую произвольную область. Если же упростить все, и принять область за круг или квадрат, то это будет накладывать жесткие ограничения на модель оружия, его поведение и проч.

А проекция схавает производительность =\

Полюбому есть формула вычисления положения этой точки!
Я просто уверен! Ведь устроен же этот коллиматор как то!!! Сымитировать физический закон будет куда дешевле, чем проекции мне кажется...

Цитата:
это все конечно прикольно, но в сорце нет ни тряски игрока при движении, ни возможности посмотреть в прицел под разными углами, ни тем более повертеть оружие в руках как нибудь так чтобы оно наклонилось туда или сюда. вариант симмитировать тряску специально трясущейся анимацией idle. но тогда и саму точку можно прилепить анимированной текстурой. кароч фэйки рулят...

Ты вообще в хоть один мод для хл2 играл? Судя по всему нет =) Скачай хотябы Insurgency. И на последок, в сорсе есть всё, что захочется, а пока не захочется - да, этого нет.
──╔═══╗| Displacement Sculpting
╔╗║╔══╝| --------------
╚╝║╚═╗─| Владимир Чернышёв (OBA Main Character) by Flagg
╔╗║╔═╝─| --------------
╚╝║╚══╗| Operation Broken Arrow: Seven Hour War
──╚═══╝| --------------


The "Earth" without "art" is just "eh"

Поправил FishMan 19-12-2008 в 13:10

Old Post 19-12-2008 13:01
FishMan отсутствует Посмотреть данные 'FishMan' Отправить Приватное Сообщение для 'FishMan' Найти другие сообщения 'FishMan' Добавить FishMan в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
KLIMaka
(Президент Мира - Броука!)

Зарегистрирован: Dec 2007
Проживает: Украина/Запорожье
Написал: 456 сообщений

Оценка: 28 Votes 28 чел.

Сообщение #800969
Кароче, Фиш, ну ты мне прям взрыв мозга сделал! )) Еду я знач к девушке в маршрутке. А потом так бац! Балин, да это ж проще пареной репы! Вот теперь прибедал к девушке - она кушать готовит, а я сижу, отписываюсь ))

Начну с лирического отступления. Когдато в далекие времена Блуда 1 (для меня он и сейчас живее всех живых) играл я в некий аддон. Вся его прелесть была в том, что в нем была почти настоящая водичка (на те времена)! Т.е. в воде отражалось все окружение. На самаом деле ничего не отражалость, а под полупрозрачной поверхностью воды просто строилась отраженная копия всего окружения.

К чему это я? Вместо того чтобы изображать маркер на прицеле, можно заставить его отражатся в этом самом прицеле! Т.е. рисуем енвмапу с красной точечкой на черном фоне (крестиком, кружечком, голой бабой) и ставим ее в материал нашего прицела. И тогда наш маркер будет отображатся там, где нужно (геометрические опусы и паралели работой реального прицела опущу, времени нет). Точно не знаю насчет того, будет ли отображатся отражение на полностью прозрачной поверхности (енвмапа вроде складывается с базовой текстурой, а не перемножается) но по крайней мере решение предельно простое.

Пока все. Пробуй, Фиш.
Old Post 19-12-2008 14:55
KLIMaka отсутствует Посмотреть данные 'KLIMaka' Отправить Приватное Сообщение для 'KLIMaka' Найти другие сообщения 'KLIMaka' Добавить KLIMaka в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
FishMan
(Real Project Leader)

Зарегистрирован: Jul 2003
Проживает: /
Написал: 9467 сообщений

Оценка: 143 Votes 143 чел.

Старожил Developer 
Сообщение #800979
Хм...
Ну, ок... Ща попробую спс...
──╔═══╗| Displacement Sculpting
╔╗║╔══╝| --------------
╚╝║╚═╗─| Владимир Чернышёв (OBA Main Character) by Flagg
╔╗║╔═╝─| --------------
╚╝║╚══╗| Operation Broken Arrow: Seven Hour War
──╚═══╝| --------------


The "Earth" without "art" is just "eh"
Old Post 19-12-2008 15:36
FishMan отсутствует Посмотреть данные 'FishMan' Отправить Приватное Сообщение для 'FishMan' Найти другие сообщения 'FishMan' Добавить FishMan в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
FishMan
(Real Project Leader)

Зарегистрирован: Jul 2003
Проживает: /
Написал: 9467 сообщений

Оценка: 143 Votes 143 чел.

Старожил Developer 
Сообщение #801038
ЗЫ Огромное колличество времени было потрачено на то, чтобы получить енвмапу, ибо ни vtex ни vtf плугин их создавать не умеют. Пришлось рендерить их на карте, а потом вытаскивать оттуда и юзать...

Цитата:
Цитата с вики:
Коллиматорный прицел был изобретён в России в 1917 году. Со времён Первой мировой войны и до настоящего времени коллиматорные прицелы являются основными прицелами воздушной стрельбы для истребителей, штурмовиков и бомбардировщиков с неподвижно установленным оружием и в системах полуавтоматических прицелов подвижных стрелковых установок штурмовиков и бомбардировщиков.

Вот так то! =)

Столько времени протрахался и зазря =)
Спасибо, блин )))
Короче, оно то работает но не совсем правильно.
Во-первых, если я перемещаюсь, то и точка тоже перемещается, а должна оставаться всегда на цели, как на видео с плюшевым мишкой.
Во вторых, если я стою на месте, а колиматор вращается, то точка не попадает в действительное место, куда попадёт пуля. Будут комментарии? Идеи?

Клим, слуш, а с реального колиматора можно что-нить взять? Вот тут кое чего есть, без деталей конечно, но хоть что-то.

Cмотри скрин, чтобы стало понятнее (красная фиговина - это луч из центра колиматора в стену, т.е. он показывает куда в действительности попадёт пуля, я подкрасил точку, чтобы её лучше было видно, Смотреть в полном размере):
Прикрепленная картинка: [посмотреть в полный размер]
7d9e9d95403c3157963fb67190fc4b3e
──╔═══╗| Displacement Sculpting
╔╗║╔══╝| --------------
╚╝║╚═╗─| Владимир Чернышёв (OBA Main Character) by Flagg
╔╗║╔═╝─| --------------
╚╝║╚══╗| Operation Broken Arrow: Seven Hour War
──╚═══╝| --------------


The "Earth" without "art" is just "eh"

Поправил FishMan 19-12-2008 в 19:24

Old Post 19-12-2008 19:13
FishMan отсутствует Посмотреть данные 'FishMan' Отправить Приватное Сообщение для 'FishMan' Найти другие сообщения 'FishMan' Добавить FishMan в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
KLIMaka
(Президент Мира - Броука!)

Зарегистрирован: Dec 2007
Проживает: Украина/Запорожье
Написал: 456 сообщений

Оценка: 28 Votes 28 чел.

Сообщение #801044
Ах, блин, чуток прокукарекал. Слона то я как всегда и не заметил, и совсем забыл, что енвмапа должна быть удалена в бесконечность, чтобы этот способ работал А в шейдере предпологается что она удалена на 1 (енвмапа представляет из себя единичную сферу). Т.е. прийдется всетки свой шейдер писать.

Необходимо просто сравнивать нормаль в точке с вектором на наблюдателя. Где они совпадут - там и маркер! Шейдер абсолютно плевой, и ничего сложного в нем нет. Основная проблема - как всегда отсутсвие полного СДК

Поправил KLIMaka 19-12-2008 в 21:04

Old Post 19-12-2008 19:45
KLIMaka отсутствует Посмотреть данные 'KLIMaka' Отправить Приватное Сообщение для 'KLIMaka' Найти другие сообщения 'KLIMaka' Добавить KLIMaka в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
FishMan
(Real Project Leader)

Зарегистрирован: Jul 2003
Проживает: /
Написал: 9467 сообщений

Оценка: 143 Votes 143 чел.

Старожил Developer 
Сообщение #801153
Хмм...
Может стоит у вальвы спросить?..
Авось альтернатива есть или помогут чем =\
──╔═══╗| Displacement Sculpting
╔╗║╔══╝| --------------
╚╝║╚═╗─| Владимир Чернышёв (OBA Main Character) by Flagg
╔╗║╔═╝─| --------------
╚╝║╚══╗| Operation Broken Arrow: Seven Hour War
──╚═══╝| --------------


The "Earth" without "art" is just "eh"
Old Post 20-12-2008 01:26
FishMan отсутствует Посмотреть данные 'FishMan' Отправить Приватное Сообщение для 'FishMan' Найти другие сообщения 'FishMan' Добавить FishMan в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
manJak
(маппер-теоретик)

Зарегистрирован: Feb 2006
Проживает: Mother Russia/Moscow
Написал: 2953 сообщений

Оценка: 66 Votes 66 чел.

Developer Старожил 
Сообщение #801183
Начал писать, как бычно, не дочитав тему))

Способов найти можно кучу, на самом деле) Например, вариация первого способа Климаки: рендерить в стенсил-буфер сам "дисплей" прицела, и юзать полученную маску при рендере спрайта ("нечто вроде альфа канала, т.е. область, в которой точка показывается").
Но лично мне первое что пришло в голову - это именно смещение текстурных коррдинат) Просто рисовать "дисплей" отдельным квадом, и с текскоордами можно будет извращаться как угодно.

Касаемо апчхимизации. Вместо рейтреса, мб, достаточно найти пересечение луча с плоскостью на некотором расстоянии ("специальную плоскость создавать, невидимую для игрока, находящуюся на определённом, фиксированном расстоянии").

> есть ли тут такой человек ...
А, типа меня уже со счетов списали? Да, с баллистикой этой я, кончено, закопался совсем, признаю..
Old Post 20-12-2008 02:55
manJak отсутствует Посмотреть данные 'manJak' Отправить Приватное Сообщение для 'manJak' Найти другие сообщения 'manJak' Добавить manJak в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
FishMan
(Real Project Leader)

Зарегистрирован: Jul 2003
Проживает: /
Написал: 9467 сообщений

Оценка: 143 Votes 143 чел.

Старожил Developer 
Сообщение #801242
Цитата:
А, типа меня уже со счетов списали?

Не, это хитроумный план по захвату человечества =)
Ты сейчас занят баллистикой, а я готовлю для тебя плацдарм на будущее, всё что от тебя потребуется, это перевести в код теоретический алгоритм.

Кстати на счёт шейдеров.
А в сурсе же есть какаято фигнюшка, чтобы компилить сво шейдеры... ыть? для чего она нужна, поясните... и чего вам не хватает... может достанем =)

Напишите интересующий вопрос на английском, попробую у вальвы поспрашивать, моть чё полезное подскажут.
──╔═══╗| Displacement Sculpting
╔╗║╔══╝| --------------
╚╝║╚═╗─| Владимир Чернышёв (OBA Main Character) by Flagg
╔╗║╔═╝─| --------------
╚╝║╚══╗| Operation Broken Arrow: Seven Hour War
──╚═══╝| --------------


The "Earth" without "art" is just "eh"
Old Post 20-12-2008 10:18
FishMan отсутствует Посмотреть данные 'FishMan' Отправить Приватное Сообщение для 'FishMan' Найти другие сообщения 'FishMan' Добавить FishMan в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
manJak
(маппер-теоретик)

Зарегистрирован: Feb 2006
Проживает: Mother Russia/Moscow
Написал: 2953 сообщений

Оценка: 66 Votes 66 чел.

Developer Старожил 
Сообщение #801256
> всё что от тебя потребуется, это перевести в код теоретический алгоритм
Главное, чтобы алгоритм был подготовлен программером. %) Иначе будет легче самому выдумать))

Про шейдеры. Их можно беспрепятственно компилить под эп1 - среди сорцов есть необходимые либы, хэдеры и туча исходников-примеров. В оранже система поменялась, но необходимых материалов в сдк сейчас нет, и вальва ДО СИХ ПОР ОБЕЩАЕТ их зарелизить.
Думаю, чиркнуть пару строк можно (мол, когда же?), но особо это ни на что не повлияет)
Old Post 20-12-2008 10:54
manJak отсутствует Посмотреть данные 'manJak' Отправить Приватное Сообщение для 'manJak' Найти другие сообщения 'manJak' Добавить manJak в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Все время в GMT . Сейчас 11:15.
Создать Новую Тему    Ответить

Быстрый ответ
Ваше Имя:
Хотите Зарегистрироваться?
Ваш Пароль:
Забыли свой Пароль?
Вы можете оставлять свои комментарии анонимно, просто введя свои имя и оставив пустым поле пароля.
Ваш ответ:

[проверить размер]
[транслит в win] | [?]
[русская клавиатура]

Дополнительно: Подтверждение по E-Mail


Быстрый переход:
 
Оцените эту Тему:
 

Правила форума:
Создание Тем не разрешено
Создание Сообщений разрешено
Создавать Вложения не разрешено
Редактирование Сообщений не разрешено
Коды HTML запрещены
Коды форума разрешены
Смайлики разрешены
Коды [IMG] запрещены