Легко, вопрос в том, насколько оптимизированно перебираем и этот треугольник всегда в таком положении (под таким углом) или меняет положение и угол, а может и масштабы?
Если в одном положении - то бери всех юнитов в области с треугольником (как на скрине):
Иначе бери всех юнитов с карты (если другого варианта удобного у тебя нет).
Далее нам надо знать координаты всех 3 углов треугольника (точки A(a1, a2), B(b1, b2), C(c1, c2)).
Далее перебираем юнитов в группе, что выбрали ранее и берем их точки P(x, y).
Далее с помощью векторных произведений вычисляем AP * AB, BP * BC, и CP * CA.
Если все три векторных произведения имеют одинаковый знак (или равны нулю), то точка P лежит внутри треугольника или на его границе.
Векторное произведение вычисляется вот так:
AP = {x-a1, y-a2}
AB = {b1-a1, b2-a2}
AP * AB = (x-a1) * (b1-a1) + (y-a2) * (b2-a2) = V1
Также вычисляем и другие произведения:
BP * BC = V2
AP * AB = V3
Если (V1 >= 0 и V2 >= 0 и V3 >= 0) ИЛИ (V1 <= 0 и V2 <= 0 и V3 <= 0) то точка находится внутри треугольника, иначе нет.
Изи.
PUVer, тогда было бы неплохо поместить все работы хотя бы в один архив, чтобы каждому зрителю не пришлось кликать по всем вкладкам на каждую "скачать" :D
Все должно получаться. Кинь модельку здания. А лучше кинь карту, где ты попытался заменить модельку здания. Можешь в пустой карте повторить, если не хочешь скидывать свой проект.
А так угадать будет сложно, скорее всего просто пути для текстур неправильно указал. Но и угадать мы не сможем пока ты не скинешь модель.
Алексей Андреич, мб больше подумать, как снег мог бы зацепиться за крышу и остаться на ней, чтобы более логично его оставить, чем в такой круглый разброс)
Варианты где насыпать снега:
На углах стыка между разными плоскостями крышы
Пример
Сделать эффект сосульки с верхней части крыши до нижней, но доходя примерно до середины, а дальше типа обрываясь, тип часть снега скатилось ниже. Естественно не однородно, мб часть снега дойдет и до самого края и будет держаться.
Пример
По сравнению с прошлым пунктом наоборот, снег больше скатился в нижней части крыши и задержался.
Пример
Снег в тени или куда ветер меньше задувает, с той стороны его может быть больше, чем с другой.
Пример
Хотя обычно снег покрывает полностью всю крышу, кроме резких углов и выпирающих частей
Идея и реализация потрясающие! Сделано очень круто и креативно!
Мелкая мелочь
Вот тут на стыках видно, как тело очень сильно отличается от конечностей (от ног тоже видно). Мб взять текстуру тела потемнее? А то оно очень светлое по сравнению с остальными конечностями и смотрится будто чужое.
Итак, у тебя как минимум 2 ошибки в понимании происходящего:
Конвертация типа юнита в строку и в число потом будет равно 0. Потести на разных вариантах. Выведи в чат результат. Поэтому даже используя разные типы юнитов ты всегда сохраняешь в одну ячейку все данные перезаписывая старые данные других юнитов.
Предположим первую проблему ты решил. Тебе надо проверить, существует ли вообще значение, сохранял ли, прежде чем его загрузить? Ну так используй действие на проверку, а потом уже загружай и проверяй, true там или false. Вот тебе быстрый пример такой проверки:
Ред. konvan5
» WarCraft 3 / Как реализовать перебор группы в площади треугольника ? - [Jass]
Если в одном положении - то бери всех юнитов в области с треугольником (как на скрине):
Далее нам надо знать координаты всех 3 углов треугольника (точки A(a1, a2), B(b1, b2), C(c1, c2)).
Далее перебираем юнитов в группе, что выбрали ранее и берем их точки P(x, y).
Далее с помощью векторных произведений вычисляем AP * AB, BP * BC, и CP * CA.
Если все три векторных произведения имеют одинаковый знак (или равны нулю), то точка P лежит внутри треугольника или на его границе.
Векторное произведение вычисляется вот так:
AP = {x-a1, y-a2}
AB = {b1-a1, b2-a2}
AP * AB = (x-a1) * (b1-a1) + (y-a2) * (b2-a2) = V1
Также вычисляем и другие произведения:
BP * BC = V2
AP * AB = V3
Изи.
» WarCraft 3 / Мне нужно 5-6 человек, 2 дизайнера для карты,2 опытных так…
» WarCraft 3 / Вопрос про Малгануса
Ред. konvan5
» WarCraft 3 / Как зделать атаку по клику по пративнику
Ред. konvan5
» XGM Конкурсы / Конкурс моделей WС3 2025: Зрительское голосование
Очень классные работы!
» XGM Конкурсы / Конкурс моделей WС3 2025: Зрительское голосование
Ред. konvan5
» WarCraft 3 / Требование уровня
» WarCraft 3 / Ждëте ли вы новые главы, от кампании на 3 игроков про НежитьХ версия 2
» WarCraft 3 / Может ли кто-нибудь помочь?
» WarCraft 3 / Может ли кто-нибудь помочь?
» WarCraft 3 / Ждëте ли вы новые главы, от кампании на 3 игроков про НежитьХ версия 2
Ред. konvan5
» WarCraft 3 / Как заменить модельку у знания?
А так угадать будет сложно, скорее всего просто пути для текстур неправильно указал. Но и угадать мы не сможем пока ты не скинешь модель.
» nDRch / Я моделю как урод...
Варианты где насыпать снега:
Ред. konvan5
» Администрация XGM / Текстуры в просмотрщике моделей
(Опиши проблему там в комментариях)
» WarCraft 3 / Конкурс моделей WС3 2025: Лагерь наёмников - Фелвуд
» WarCraft 3 / Angry Clown tysch_tysch (Admin XGM)
» Администрация XGM / Доступ на XGM Россия
» WarCraft 3 / Способность по типу Shockwave
Или на крайняк сюда.
» WarCraft 3 / Странный спавн предмета
» Аниме / Роскомнадзор запретил мангу «Реинкарнация безработного»
» Harpoon Arena / Набросали тизер
» Harpoon Arena / Набросали тизер
» WarCraft 3 / Как работают незаполненные данные в хэш-таблицах?
Ред. konvan5
» WarCraft 3 / Как работают незаполненные данные в хэш-таблицах?
» nDRch / Я моделю как урод...