![]() |
Цитата:
Уже побежал доганять и дать. ))) |
Доброго времени суток. Пытаюсь создать прожектор для подвижных объектов в Ил-е. Если с 3д моделькой чуть разобрался то с классами забуксовал. С моей колокольни, прожектор должен прописываться как орудие. Да он и по строению похож на пушку: основа-Body часть наводящаяся по горизонтали Head, по вертикали-Gun. Но если у орудия есть свой хук _ShellStart, то тут его нет. Зато есть два меша в районе линзы прожектора: Ray_ON и Ray_OFF. Ray_OFF- визуализируется у прожектора в неактивном состоянии, Ray_ON- когда прожектор горит. Есть и два хука coneNear и coneFar, приаттаченных к меш-у Ray_ON.
Есть класс дефолтного прожектора ПВО /* Searchlight - Decompiled by JODE * Visit http://jode.sourceforge.net/ */ package com.maddox.il2.objects.vehicles.lights; import com.maddox.il2.ai.ground.TgtFlak; import com.maddox.il2.objects.vehicles.artillery.AAA; public abstract class Searchlight { /*synthetic*/ static Class class$com$maddox$il2$objects$vehicles$lights$Searc hlight$SL_ManualBlue; public static class SL_ManualBlue extends SearchlightGeneric implements TgtFlak, AAA { } /*synthetic*/ static Class class$(String string) { Class var_class; try { var_class = Class.forName(string); } catch (ClassNotFoundException classnotfoundexception) { throw new NoClassDefFoundError(classnotfoundexception .getMessage()); } return var_class; } static { new SearchlightGeneric.SPAWN ((class$com$maddox$il2$objects$vehicles$lights$Sea rchlight$SL_ManualBlue == null) ? (class$com$maddox$il2$objects$vehicles$lights$Sear chlight$SL_ManualBlue = (class$ ("com.maddox.il2.objects.vehicles.lights.Searchlig ht$SL_ManualBlue"))) : class$com$maddox$il2$objects$vehicles$lights$Searc hlight$SL_ManualBlue); } } И подопытный класс зенитки 21-к На основе этого класса пытаюсь создать класс для прожектора. /* Cannon21K - Decompiled by JODE * Visit http://jode.sourceforge.net/ */ package com.maddox.il2.objects.weapons; import com.maddox.JGP.Vector3d; import com.maddox.il2.engine.BulletProperties; import com.maddox.il2.engine.GunGeneric; import com.maddox.il2.engine.GunProperties; import com.maddox.il2.engine.Loc; public class Cannon21K extends CannonAntiAirGeneric { protected float Specify(GunProperties gunproperties) { gunproperties.aimMaxDist = 9200.0F; gunproperties.sound = "weapon.zenitka_37c"; BulletProperties bulletproperties = gunproperties.bullet[0]; bulletproperties.timeLife = 10.5F; bulletproperties.addExplTime = 1.5F; bulletproperties.power = 0.052F; bulletproperties.powerType = 1; bulletproperties.powerRadius = 60.0F; bulletproperties.kalibr = 0.045F; bulletproperties.massa = 1.065F; bulletproperties.speed = 880.0F; bulletproperties.traceMesh = "3do/effects/tracers/20mmBlue/mono.sim"; bulletproperties.traceTrail = null; bulletproperties.traceColor = -755040256; bulletproperties = gunproperties.bullet[1]; bulletproperties.power = 0.074F; bulletproperties.powerType = 0; bulletproperties.powerRadius = 80.0F; bulletproperties.kalibr = 0.045F; bulletproperties.massa = 1.41F; bulletproperties.speed = 760.0F; bulletproperties.traceMesh = "3do/effects/tracers/20mmOrange/mono.sim"; bulletproperties.traceTrail = null; bulletproperties.traceColor = -770532113; return 46.0F; } public Bullet createNextBullet(Vector3d vector3d, int i, GunGeneric gungeneric, Loc loc, Vector3d vector3d_0_, long l) { return new BulletAntiAirBigUSSR(vector3d, i, gungeneric, loc, vector3d_0_, l, explodeAtHeight); } } Попытки скрестить два класса в один, и заставить работать как единый механизм пока безуспешны. В принципе "фонарь" может наводиться на цель. Для этого добавляю хук _ShellStart и никаких классов в общем не надо . Но никак не удается заставить фонарь работать только ночью и есть проблема с исчезновением луча прожектора при уходе источника света из поля зрения.:( Может кто то подскажет что делать? Или если есть, подскажите мануал с решением подобной проблемы. Заранее спасибо. |
Цитата:
Цитата:
|
Вложений: 3
Спасибо за идею, посмотрю обязательно. Пока разбираю мод от Штука-40 название вроде "огни паровоза". По исчезновению луча: на скрине1 кораблик плывет, луч светит; на скрине2 камера повернулась в право виден нос крейсера и луч фонаря; скрин3 доворот камеры еще правее-луч света исчез....
|
Цитата:
Просто проверь у себя в конф.ини 0=выкл 1=вкл |
Вложений: 1
Спасибо за информацию, но проблема не решена. Полагаю вопрос не в ClipHintEx, потому, что у стокового прожектора такой проблемы не наблюдается. На скрине луч выше крейсера, это луч стокового прожектора. Сам прожектор находится далеко слева, тем не менее его луч виден.
|
5 копеек
Цитата:
НАШЕЛ: у нас Злой ссыль выложил в разделе Моды\Не самолетом единым\Новые объекты\пост 292. |
Спасибо, буду искать.
|
Вот тут https://www.sas1946.com/main/index.p...c,33723.0.html Только 3д модель.
Пока рою информацию по яве (не мотоцикл:)). Есть информация о том как создать классы под модель самолета, да и то не много... И понимается она как то туговато. Подправить вооружение самолета, создать класс под новое орудие или слот корабля, как то могу, а что то большее пока никак. То есть со всем, что сложнее правки дефолтных файлов, пока не разобрался. Первоначальные соображения о том, что прожектор нужно прописать как орудие, все больше заходят в тупик. Прожектор не должен стрелять по определению, а если это не орудие, то как его прописать в модели корабля в ини. файлах? С другой стороны зенитные "корни" прожектора прослеживаются в стоковом файле, иначе как бы он мог наводиться? Еще преследует чувство, что у меня не полная информация, к примеру в стоковом файле нет ни слова о времени включения/выключения прожектора. Истина где то рядом... В Ил-е... Продолжаю поиск. |
Вложений: 1
Прошу консультативной помощи. Вот класс 21К. Вопрос, где в Ил-е лежат звуки и эффекты выстрелов? Или формулируя вопрос по другому, как добавить новый эффект выстрела?
|
Звук(не сам звук, а пресет) лежит в files.sfs в папке presets/sounds, а эффекты в одной или нескольких сфс-ках fb_3doNN.sfs путь к ним прописан в самом классе на скрине
|
Вы всё указали правильно:
... gunproperties.sound = "weapon.zenitka_37c"; ... это и есть название prs-файла в котором прописан звук выстрела, так что: 1- замените строку "weapon.zenitka_37c" скажем на "weapon.сannon21K"; 2- создайте файл "weapon.сannon21K.prs" (на основе "weapon.zenitka_37.prs", взять из любого звукомода) в котором уже будет прописан ваш звук для 21К; 3- ну и поместите свой звук 21К в папку "my_samples", а prs-файл в "my_presets\sounds\". А для "нового эффекта выстрела" у себя в звукотрассерах в классе 21К добавил две строки для огня и дыма от выстрела - место расположения любое, как вам надо. ... public class Cannon21K extends CannonAntiAirGeneric { protected float Specify(GunProperties gunproperties) { gunproperties.fire = "3DO/Effects/GunFireSmoke/Fire45.eff"; // огонь gunproperties.smoke = "3DO/Effects/GunFireSmoke/Smoke45.eff"; // дым gunproperties.aimMaxDist = 9200.0F; ... Наземные зенитки и прожектора на корабле - это для меня новое и такой корабль хотелось бы посмотреть в динамике, а не со скринов и поэтому жду спуска на воду. |
Всем БОЛЬШОЕ спасибо за предоставленную информацию.:thx: Есть вот такие соображения: название орудия заменить на скажем Project; звук выстрела на какой нибудь не громкий скрип или скрежет как при работе механизма (а можно попробовать вообще убрать). С эффектом как быть пока не знаю. "Прожектор-орудие" должно наводиться на цель и "выстреливать эффектом"-лучём света. Все это пока большей частью в теории и есть еще вопросы, на пример как сделать, что бы луч-эффект горел на мигая. Сегодня экспериментировал с хешированием файлов, кое какие результаты уже есть, но дело застопорилось на приведенных выше вопросах. Продолжаю работать.
|
Вопросы, Вопросы, Вопросы... Пересмотрев в Ил-е и перещупав в Блендере большинство модов реагирующих на смену времени суток (корабельные и моды железнодорожной техники), стало ясно, что в этих модах (а значит и в классах) нет специальных мешей отвечающих за свет. Как правило это хуки с соответствующими названиями. По этому эффект в виде луча прожектора использовать не получится, такого эффекта просто нет в природе. Зато нашел строки отвечающие за включение/выключение эффектов, но почему то не у всех модов и совсем не нашел строк отвечающих за отключение света при подлете вражеской авиации. Начал крутить стоковый прожектор. И опять вопросы, во первых в классах прожектора нет времени включения/выключения, во вторых там нет ни строки с мешами Ray_ON, Ray_OFF и о том как ими управлять:I'm_thinking: Однако стоковый прожектор работает, а значит нужно искать дальше... Чем и занимаюсь.
|
Вложений: 1
Возможно не корректный вопрос, но может кто знающий подскажет. Можно ли "прикрутить" вместо эффекта выстрела, меш луча Ray_ON? И как это сделать.
|
Меш не вопрос заменить пропиши путь к своему mono.sim а в него пропиши свой меш. Вот шаблон что должно быть внутри сим файла.
Цитата:
А вот хотелось бы наблюдать эпическую картину как сия дура со скоростью 880м\с унесется у тебя вдаль Хотя бы traceColor замени на единицы а то еще и перекрасится пока свои 10 и 1/2секунды будет в даль лететь хотя и с силой 45мм снаряда (от жеж не стыдно им зенитка 37 мм а пуляет 45мм снрядами ):lol::lol: :lol: А если еще параметр Trail значение null замениш на путь к дымному эффекту то полетит еще и с жирным дымным хвостом:beer: |
Вложений: 2
[QUOTE=Grejf11;171047 А вот хотелось бы наблюдать эпическую картину как сия дура со скоростью 880м\с унесется у тебя вдаль[/QUOTE]
Не унеслась...:cry: И так возникла еще одна сумасшедшая идея реализации прожектора в ил-2. Прописать меш луча Ray_ON в классе орудия вместо трассера. Спасибо коллегам по цеху YurBorR&Grejf11 подсказали возможные пути реализации этой идеи. Подумав дважды решил в трассерах ничего не писать, но добавить строки с "эффектом", а уже в эффектах прописать путь к Ray_ON.msh. Подопытный кролЕг-класс 21К . Получилось как на скрине 1. Класс нормально скомпилировался и был прописан в вооружении файла шипс.ини. (копия 21К-замена наименования). Открыл тестово-испытательную миссию и... И масса интересных но совершенно не нужных эффектов. При виде противника (морская цель) "Кавказ" подобно ежу ощетинился орудиями, причем не одно на цель наведено не было, кроме прожектора. Прожектор навелся и открыл огонь с дикой скорострельностью, сплошной поток трассеров :eek: при этом огонь велся не по ближайшей цели а по самолетам находящимся на подлете и находящимся на заведомо недоступном для орудия расстоянии... При атаке ни один самолет сбит не был. При повторной загрузке миссии корабль не определяется... В логе краткое, но емкое ругательство (2) мол: "меш эффектом не является и не суй его куда не надо". Сижу смотрю эффекты...:cry: |
Таак значит движение определилось и случайным образом насчупалась пушка вулкан о шести стволах. Глядиш тебе реактивщики еще гран мерси скажут.
Как раз необходимая струя железа. |
Вложений: 3
Это конечно так, но точность со знаком -.
На скринах: положение орудий и скорострельность по сравнению с стоковой 70к- 4 к 1. Падение снарядов и поток трассеров. |
Однако это не то что нужно...
|
Текущее время: 08:29. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot