BoBaH 13 Posted March 17, 2016 Share Posted March 17, 2016 Луч из дула это всего лишь недолазер получается. ХЗ нужен ли он на своём. От противника он точно не нужен. А подсветка под танком думаю может пригодится. Лишь бы игру не грузила. Я играю вечерами с звёздным небом и дополнительное затемнение от ночи очень даже уместно. Контуры противников лучше видно. Сделать на подсветку горячю кнопку типа Выкл-Свой танк-Только противники-Только союзники&совзводники-Все. В определённом секторе обзора. Противников конечно красным светить(или моргать). Например начинается операция "Дичь" ( ~ 10 vs 2 ) и что бы быстрей сорвать бонус для лучшей заметности включить у противника эту подсветку. @ Quote Link to comment Short link Share on other sites More sharing options...
Polyacov_Yury Posted March 21, 2016 Author Share Posted March 21, 2016 (edited) Итак, дорогие пользователи. Вот он - долгожданный Обнова фар под патч 0.9.14 Изменения: Добавлен мультиконфиг. Теперь лампочек можно понапрописывать сколько душе угодно. За подробностями - в спойлер Настройка в шапке темы. Добавлена поддержка анимированного цвета. Также можно добавить лампочку, прикрепленную к стволу. Пример - в архиве LampLights_GunLamp Исправлен баг с незаходом в реплей. Мод переехал в scripts/client/gui/mods. Конфиги для фар теперь поставляются отдельными архивами. (Ахтунг!). Для того, чтобы сделать все, как до этого обновления, нужны архивы: LampLightsEnabler или LampLightsEnablerFull - чтобы у вас был скрипт :) Архивы LampLights_HeadLights (лучи) и LampLights_HeadLamps (лампы). P.S. В бета-режиме добавлена неоновая подсветка днища (архив LampLights_BottomNeon). Почему бета? Потому что нужно с конфигом поиграться - настроить яркость, положение, радиусы... а мне лень :P АХТУНГ! Перезалил архив LampLights_HeadLights. Нечаянно не туда сунул xml-ку, когда архивы паковал. Edited March 21, 2016 by Polyacov_Yury 3 @ Quote Link to comment Short link Share on other sites More sharing options...
Polyacov_Yury Posted April 7, 2016 Author Share Posted April 7, 2016 (edited) 'Грядут перемены...' P.S. Модельки возле пушки находятся в том же самом месте, что и источники света прожекторов фар, да-да Edited April 7, 2016 by Polyacov_Yury @ Quote Link to comment Short link Share on other sites More sharing options...
Polyacov_Yury Posted April 24, 2016 Author Share Posted April 24, 2016 (edited) 'Уже скоро глобальное обновление...' UPD. Неужто никому не интересно?.. oAo Edited April 24, 2016 by Polyacov_Yury 2 @ Quote Link to comment Short link Share on other sites More sharing options...
Polyacov_Yury Posted April 30, 2016 Author Share Posted April 30, 2016 Итак, вышел тест обновления 0.9.15. Основные изменения, как обычно, в патчноут не включили. А собственно, что изменилось: VehicleAppearance -> vehicle_systems.CompoundAppearance CompoundAppearance не имеет атрибута modelsDesc, все описания моделей ушли в BigWorld.CompoundAssembler() Проще говоря, на данный момент у меня нет доступа к моделям танков. Только прямые обращения к compoundModel.node(). Все наработки по нормализации направлений векторов фар, а также аттачи к каткам пошли куда-то далеко. Пока что ждем мододелов-исследователей. @ Quote Link to comment Short link Share on other sites More sharing options...
Polyacov_Yury Posted May 19, 2016 Author Share Posted May 19, 2016 Testing, testing, 1,2,3... Готова рабочая бета мода под версию 0.9.15. Если хотите, могу выложить на потестить, но все фичи и правки расписывать сейчас не буду - сами понимаете, горяченная бета Ремодомода 2.0, зачетная неделя... ждем мододелов-исследователей. Кончилось тем, что на данный момент по модельной механике я самый осведомленный и все стучатся ко мне с вопросами на тему "а как теперь быть-то?" И да, на вопросы у меня есть ответы. 3 @ Quote Link to comment Short link Share on other sites More sharing options...
GPCracker Posted May 22, 2016 Share Posted May 22, 2016 (edited) Только прямые обращения к compoundModel.node()А есть какой-то красивый способ получить world-matrix-provider для компонентов танка, как это можно было сделать раньше подобным образом vehicle.appearance.modelsDesc['gun']['model'].matrix? Edited May 22, 2016 by GPCracker @ Quote Link to comment Short link Share on other sites More sharing options...
Polyacov_Yury Posted May 24, 2016 Author Share Posted May 24, 2016 (edited) А есть какой-то красивый способ получить world-matrix-provider для компонентов танка, как это можно было сделать раньше подобным образом vehicle.appearance.modelsDesc['gun']['model'].matrix? Если я все правильно путаю - from vehicle_systems.tankStructure import TankPartNames vehicle.appearance.compoundModel.node(TankPartNames.GUN).matrix Если так не зайдет, тогда - Math.Matrix(vehicle.appearance.compoundModel.node(TankPartNames.GUN)) Проще говоря, теперь обращение к руту какой-то части идет через node compoundModel'и с именем этой части. ПыСы. Перечитал вопрос. Второй метод вернет статичную матрицу. А так, если мне память не изменяет, node - это и есть сам MatrixProvider, поэтому должно быть достаточно vehicle.appearance.compoundModel.node(TankPartNames.GUN) Edited May 24, 2016 by Polyacov_Yury 2 @ Quote Link to comment Short link Share on other sites More sharing options...
GPCracker Posted May 25, 2016 Share Posted May 25, 2016 Если я все правильно путаюПорылся в очередной раз в доках BW и немного поигрался с клиентом. Атрибута matrix там нет, поскольку,node - это и есть сам MatrixProvider... сходу и не заметишь :)только напрягает один момент - наследование идет не от MatrixProvider, а от MatrixProviderLiaison, последнее слово в переводе "связь", возможно это локальная матрица, нужно проверять... хотя с другой стороны, зачем тогда атрибут local? В общем, по докам BW вопросов больше чем ответов. Пока не потестишь хрен поймешь. А насчет статичного матрикса - он и вправду мне нафиг не нужен - в динамических расчетах эта хрень просто адски будет жрать ресурсы. Это я к теме про маркеры на миникарте интересуюсь - ищу более адекватные варианты чем тупо перемножать матрицы. теперь обращение к руту какой-то части идет через node compoundModel'и с именем этой части.эээ что-то я не совсем понял. Через node compoundModel'и с именем этой части ты получаешь ноду, к которой аттачится другая модель (модель наследуется от аттача), assembler.addPart(gun, TankNodeNames.GUN_JOINT, TankPartNames.GUN, skeleton.gun, mathUtils.createIdentityMatrix())которой потом управляют через локальную матрицу, последнюю, как я понимаю, прикручивают подобным образом self.__compoundModel.node(TankPartNames.TURRET, self.turretMatrix)т.е. self.turretMatrix это локальная матрица орудия.Влез в старый VehicleAppearance turret = self.modelsDesc['turret'] gun = self.modelsDesc['gun'] gun['_node'] = turret['model'].node('HP_gunJoint') gun['_node'].attach(gun['model'])Те же яйца, только в профиль.Опять залез в доку. Наткнулся на комментарий типа Attaching it causes the attachment to appear with its root node with the same position and rotation as this node.Написано что параметры ноды, к которой аттачишь и рута аттача соответствуют по параметрам... Но в то же время не сказано, что это одно и то же.И к тому же, получить по ноде модель (от которой можно получить world-matrix-provider), которой она принадлежит, тоже не вариант. Хотя в то же время модельки по прежнему подсасываются из vehicle.typeDescriptor. По сути, старое работало как-то типа BigWorld.Model(vehicle.typeDescriptor.gun['models'][vehicle.appearance.damageState.modelState]) В новом варианте имя модели улетает сразу на движок, подцепиться к модели ствола уже не вариант... Хотя я кажется понял смысл из патча - они убрали отдельную модель (PyObject) и тем самым похерив расчеты, которые для нее велись, получили прирост производительности. Хмм... Походу единственный вариант получения информации о положении ствола - это анализ ноды, к которой прикреплен ствол. Самое что интересное, они и ноду саму по себе пропатчили, как минимум, один атрибут дописали точно. Короч, обновленная дока с описанием Компаунда явно лишней не будет. @ Quote Link to comment Short link Share on other sites More sharing options...
Polyacov_Yury Posted May 25, 2016 Author Share Posted May 25, 2016 (edited) эээ что-то я не совсем понял. Через node compoundModel'и с именем этой части ты получаешь ноду, к которой аттачится другая модель (модель наследуется от аттача), assembler.addPart(gun, TankNodeNames.GUN_JOINT, TankPartNames.GUN, skeleton.gun, mathUtils.createIdentityMatrix()) которой потом управляют через локальную матрицу, последнюю, как я понимаю, прикручивают подобным образом self.__compoundModel.node(TankPartNames.TURRET, self.turretMatrix) т.е. self.turretMatrix это локальная матрица орудия. В данном случае, первая строка к супермодели по имени assembler в точку по имени TankNodeNames.GUN_JOINT приклеивают модель по имени TankPartNames.GUN, путь к которой лежит в переменной gun, а взят он был из vehicle.typeDescriptor. Вторая строчка берет кость по имени TankPartNames.TURRET и меняет ее направление так, чтобы она сонаправилась с self.turretMatrix. Теперь второй параметр в node не заставляет ее вернуть новый Provider, а заменяет матрицу той, что уже есть. Влез в старый VehicleAppearance По большому счету, зря. По попавшим ко мне докам (я хз, могу я их распространять или нет) (кстати, инфа выше тоже оттуда) CompoundAppearance - это копипаста с него. А сам старый VehicleAppearance никому уже и не нужен. Оттуда пару хелперов только дергают. Насчет именно отображения направления пушки - насколько я понимаю, node('gun') будет локальной относительно BW.entity(ID).matrix, также, как и node('HP_gunFire'). Что из них использовать - вопрос, потому как по идее направление у них в любой момент времени одно и то же. Через node compoundModel'и с именем этой части ты получаешь ноду, к которой аттачится другая модель НЕТ. В ноде с именем модели лежит именно что рут этой модели. Опять же, см. новые_которых_ни_у_кого_кроме_меня_нету доки. старое работало как-то типа BigWorld.Model(vehicle.typeDescriptor.gun['models'][vehicle.appearance.damageState.modelState]) А новое работает вот так: assembler.addPart(vehicle.typeDescriptor.gun['models'][vehicle.appearance.damageState.modelState], 'HP_gunJoint', 'gun', skeleton.gun, mathUtils.createIdentityMatrix()) супермодель.addPart(путь, к_чему_цеплять, как_назвать_рут_части, скелет_части, локальные_корды_поворота_части) Attaching it causes the attachment to appear with its root node with the same position and rotation as this node. Написано что параметры ноды, к которой аттачишь и рута аттача соответствуют по параметрам... Но в то же время не сказано, что это одно и то же. Все правильно написано. Рут в момент аттача будет сонаправлен с нодой, к которой модель аттачили. Но потом без изменения точки аттача модель могут и сдвинуть куда-нибудь. ПыСы. Всем длиннопост Edited May 25, 2016 by Polyacov_Yury 2 @ Quote Link to comment Short link Share on other sites More sharing options...
GPCracker Posted May 25, 2016 Share Posted May 25, 2016 "Дальнейшее обсуждения тонкостей BW" Теперь второй параметр в node не заставляет ее вернуть новый Provider, а заменяет матрицу той, что уже есть.Хмм...НЕТ. В ноде с именем модели лежит именно что рут этой модели. Опять же, см. новые_которых_ни_у_кого_кроме_меня_нету доки.a is b и id() решают, надо будет затестить как-нить, только вот по учебе завал нехилый :)Все правильно написано. Рут в момент аттача будет сонаправлен с нодой, к которой модель аттачили. Но потом без изменения точки аттача модель могут и сдвинуть куда-нибудь.Ну да, для этого есть local вторым параметром node. Только вот при попытке сопоставить это с пред. цитатой как-то все-таки не совсем понятно. Но ладно, в принципе, эскобар. Все-таки придется походу завести WST, залезть на реплее в систему и неслабо там порыться. @ Quote Link to comment Short link Share on other sites More sharing options...
Polyacov_Yury Posted May 26, 2016 Author Share Posted May 26, 2016 Ну да, для этого есть local вторым параметром node. Только вот при попытке сопоставить это с пред. цитатой как-то все-таки не совсем понятно. Но ладно, в принципе, эскобар. Ну тут все просто. Вызывая node(nodeName, local), мы теперь не создаем новую node, а меняем матрицу ориентации существующей. То есть вызов node('gun', local) повернет пушку, а вызов node('HP_gunJoint', local).attach(gunModel) изменит направление кости перед аттачем, поэтому результат будет визуально одинаковый, а по факту произойдут разные вещи. И да, предпочтительнее первый вариант. P.S. Фары в общих чертах готовы, но я никак не найду время на то, чтобы написать пост со всеми изменениями, которые я в них внес. Посему пока ждем :) 2 @ Quote Link to comment Short link Share on other sites More sharing options...
GPCracker Posted May 26, 2016 Share Posted May 26, 2016 (edited) "Дальнейшее обсуждения тонкостей BW" Вызывая node(nodeName, local), мы теперь не создаем новую node, а меняем матрицу ориентации существующей.Ну я так понимаю, они это запилили чисто для того, чтобы все остальное работало... Хотя весьма странно, если они имеют возможность передавать матрицу трансформации при ассемблировании модели. Картошка как всегда. Кстати, насколько я понял из этого, матрица ноды (точнее сама нода) в глобальной СК. На всякий м.б. потом сам все проверю, как время появится. За информацию по правкам от картофана отдельное большое СПАСИБО. И, @Polyacov_Yury, загляни плз в личку :) но я никак не найду времяС этим сейчас большие проблемы, в особенности у тех, у кого скоро сессия :( Edited May 26, 2016 by GPCracker @ Quote Link to comment Short link Share on other sites More sharing options...
Polyacov_Yury Posted June 14, 2016 Author Share Posted June 14, 2016 'А прогресс не стоит на месте...' 4 @ Quote Link to comment Short link Share on other sites More sharing options...
BoBaH 13 Posted June 14, 2016 Share Posted June 14, 2016 Светится в хлам! ПТшка топ клан! Циан! @ Quote Link to comment Short link Share on other sites More sharing options...
Polyacov_Yury Posted June 14, 2016 Author Share Posted June 14, 2016 Уже нельзя в клан, с основателем которого работаю, вступить, ага -_-А насчет светить - мне своего ангара стыдиться нечего :В @ Quote Link to comment Short link Share on other sites More sharing options...
Polyacov_Yury Posted July 8, 2016 Author Share Posted July 8, 2016 Вышел на контакт с представителями Картойминга. Попросили убрать из мода функционал, позволяющий что-либо аттачить к стволам танков. Прощайте, пушечные прожектора -_- В остальном мод работает без нареканий как на тесте, так и на основе. Ремодомод тоже на финишной прямой, скоро зарелизю ОБТ. @ Quote Link to comment Short link Share on other sites More sharing options...
Delysid Posted July 8, 2016 Share Posted July 8, 2016 (edited) Плиз ненадо обфусцировать и защищать релиз Edited July 8, 2016 by Delysid 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Polyacov_Yury Posted July 8, 2016 Author Share Posted July 8, 2016 Плиз ненадо обфусцировать и защищать релиз Во-первых, не буду. Во-вторых, а чойта вдруг? :) @ Quote Link to comment Short link Share on other sites More sharing options...
Delysid Posted July 8, 2016 Share Posted July 8, 2016 (edited) Во-первых, не буду. Во-вторых, а чойта вдруг? :) Да думал лампочки у врагов включать при определённой ситуации только. Чуйка у меня, что с лямпочками может что путное получиться.. Например чтобы загорались они если соперник ломает что в игре или только за квадратом отрисовки.. Минимальный вариант приходит на ум. Это если стоит досыл или вентиль на танке соперника и он имеет стату больше 50% то включать у него фары или под днищем или гусли Edited July 8, 2016 by Delysid @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.