AviaSkins.Forums

AviaSkins.Forums (http://forum.aviaskins.com/index.php)
-   Моделирование и конструирование (http://forum.aviaskins.com/forumdisplay.php?f=18)
-   -   Несколько вопросов по Java (http://forum.aviaskins.com/showthread.php?t=3499)

Vasya 04.09.2016 23:48

Цитата:

Сообщение от tarakan67 (Сообщение 156740)
"Бегом!" (шутка, "пожалуйста", конечно!)

:lol:
Уже побежал доганять и дать. )))

tvister 07.11.2017 00:28

Доброго времени суток. Пытаюсь создать прожектор для подвижных объектов в Ил-е. Если с 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 и никаких классов в общем не надо . Но никак не удается заставить фонарь работать только ночью и есть проблема с исчезновением луча прожектора при уходе источника света из поля зрения.:( Может кто то подскажет что делать? Или если есть, подскажите мануал с решением подобной проблемы. Заранее спасибо.

deSAD 07.11.2017 17:23

Цитата:

Сообщение от tvister (Сообщение 170801)
... никак не удается заставить фонарь работать только ночью ...

Посмотрите классы "Летящего дракона" (ужас, летящий на крыльях ночи ©, гы) или "Исэ", у них навигационные огни включаются только в ночное время.
Цитата:

Сообщение от tvister (Сообщение 170801)
... и есть проблема с исчезновением луча прожектора при уходе источника света из поля зрения.:(

Э-э-э ... тобто? :I'm_thinking:

tvister 07.11.2017 20:02

Вложений: 3
Спасибо за идею, посмотрю обязательно. Пока разбираю мод от Штука-40 название вроде "огни паровоза". По исчезновению луча: на скрине1 кораблик плывет, луч светит; на скрине2 камера повернулась в право виден нос крейсера и луч фонаря; скрин3 доворот камеры еще правее-луч света исчез....

Grejf11 08.11.2017 00:49

Цитата:

[Render_OpenGL]
TexQual=3
TexMipFilter=3
TexCompress=2
TexFlags.UseDither=1
TexFlags.UseAlpha=1
TexFlags.UseIndex=1
TexFlags.PolygonStipple=1
TexFlags.UseClampedSprites=1
TexFlags.DrawLandByTriangles=1
TexFlags.UseVertexArrays=1
TexFlags.DisableAPIExtensions=0
TexFlags.ARBMultitextureExt=1
TexFlags.TexEnvCombineExt=1
TexFlags.SecondaryColorExt=1
TexFlags.VertexArrayExt=1
TexFlags.ClipHintExt=1
TexFlags.UsePaletteExt=0
TexFlags.TexAnisotropicExt=1
TexFlags.TexCompressARBExt=1
Выделенное жирным -это параметр управления отсечением за пределами сцены
Просто проверь у себя в конф.ини
0=выкл 1=вкл

tvister 08.11.2017 02:06

Вложений: 1
Спасибо за информацию, но проблема не решена. Полагаю вопрос не в ClipHintEx, потому, что у стокового прожектора такой проблемы не наблюдается. На скрине луч выше крейсера, это луч стокового прожектора. Сам прожектор находится далеко слева, тем не менее его луч виден.

Toobone 09.11.2017 17:48

5 копеек
 
Цитата:

Сообщение от tvister (Сообщение 170822)
проблема не решена.

..есть мод двухлучевого маяка где-то на САС, пару лет назад выкладывали, ставил себе как-то, но что-то не пошло, а потом на другое переключился. Работал строго ночью и лучи вращались на 360.
НАШЕЛ: у нас Злой ссыль выложил в разделе Моды\Не самолетом единым\Новые объекты\пост 292.

tvister 09.11.2017 18:26

Спасибо, буду искать.

tvister 09.11.2017 18:42

Вот тут https://www.sas1946.com/main/index.p...c,33723.0.html Только 3д модель.
Пока рою информацию по яве (не мотоцикл:)). Есть информация о том как создать классы под модель самолета, да и то не много... И понимается она как то туговато. Подправить вооружение самолета, создать класс под новое орудие или слот корабля, как то могу, а что то большее пока никак. То есть со всем, что сложнее правки дефолтных файлов, пока не разобрался. Первоначальные соображения о том, что прожектор нужно прописать как орудие, все больше заходят в тупик. Прожектор не должен стрелять по определению, а если это не орудие, то как его прописать в модели корабля в ини. файлах? С другой стороны зенитные "корни" прожектора прослеживаются в стоковом файле, иначе как бы он мог наводиться? Еще преследует чувство, что у меня не полная информация, к примеру в стоковом файле нет ни слова о времени включения/выключения прожектора. Истина где то рядом... В Ил-е... Продолжаю поиск.

tvister 10.11.2017 18:37

Вложений: 1
Прошу консультативной помощи. Вот класс 21К. Вопрос, где в Ил-е лежат звуки и эффекты выстрелов? Или формулируя вопрос по другому, как добавить новый эффект выстрела?

tarakan67 10.11.2017 19:19

Звук(не сам звук, а пресет) лежит в files.sfs в папке presets/sounds, а эффекты в одной или нескольких сфс-ках fb_3doNN.sfs путь к ним прописан в самом классе на скрине

YurBorR 10.11.2017 20:27

Вы всё указали правильно:
...
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;
...

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

tvister 10.11.2017 21:51

Всем БОЛЬШОЕ спасибо за предоставленную информацию.:thx: Есть вот такие соображения: название орудия заменить на скажем Project; звук выстрела на какой нибудь не громкий скрип или скрежет как при работе механизма (а можно попробовать вообще убрать). С эффектом как быть пока не знаю. "Прожектор-орудие" должно наводиться на цель и "выстреливать эффектом"-лучём света. Все это пока большей частью в теории и есть еще вопросы, на пример как сделать, что бы луч-эффект горел на мигая. Сегодня экспериментировал с хешированием файлов, кое какие результаты уже есть, но дело застопорилось на приведенных выше вопросах. Продолжаю работать.

tvister 12.11.2017 02:29

Вопросы, Вопросы, Вопросы... Пересмотрев в Ил-е и перещупав в Блендере большинство модов реагирующих на смену времени суток (корабельные и моды железнодорожной техники), стало ясно, что в этих модах (а значит и в классах) нет специальных мешей отвечающих за свет. Как правило это хуки с соответствующими названиями. По этому эффект в виде луча прожектора использовать не получится, такого эффекта просто нет в природе. Зато нашел строки отвечающие за включение/выключение эффектов, но почему то не у всех модов и совсем не нашел строк отвечающих за отключение света при подлете вражеской авиации. Начал крутить стоковый прожектор. И опять вопросы, во первых в классах прожектора нет времени включения/выключения, во вторых там нет ни строки с мешами Ray_ON, Ray_OFF и о том как ими управлять:I'm_thinking: Однако стоковый прожектор работает, а значит нужно искать дальше... Чем и занимаюсь.

tvister 14.11.2017 01:34

Вложений: 1
Возможно не корректный вопрос, но может кто знающий подскажет. Можно ли "прикрутить" вместо эффекта выстрела, меш луча Ray_ON? И как это сделать.

Grejf11 14.11.2017 04:35

Меш не вопрос заменить пропиши путь к своему mono.sim а в него пропиши свой меш. Вот шаблон что должно быть внутри сим файла.

Цитата:

[_ROOT_]
[Body]
Mesh Ray_ON


и все.
А вот хотелось бы наблюдать эпическую картину как сия дура со скоростью 880м\с унесется у тебя вдаль
Хотя бы traceColor замени на единицы а то еще и перекрасится пока свои 10 и 1/2секунды будет в даль лететь хотя и с силой 45мм снаряда (от жеж не стыдно им зенитка 37 мм а пуляет 45мм снрядами ):lol::lol:

:lol: А если еще параметр Trail значение null замениш на путь к дымному эффекту то полетит еще и с жирным дымным хвостом:beer:

tvister 15.11.2017 00:17

Вложений: 2
[QUOTE=Grejf11;171047 А вот хотелось бы наблюдать эпическую картину как сия дура со скоростью 880м\с унесется у тебя вдаль[/QUOTE]

Не унеслась...:cry:

И так возникла еще одна сумасшедшая идея реализации прожектора в ил-2. Прописать меш луча Ray_ON в классе орудия вместо трассера. Спасибо коллегам по цеху YurBorR&Grejf11 подсказали возможные пути реализации этой идеи. Подумав дважды решил в трассерах ничего не писать, но добавить строки с "эффектом", а уже в эффектах прописать путь к Ray_ON.msh. Подопытный кролЕг-класс 21К . Получилось как на скрине 1. Класс нормально скомпилировался и был прописан в вооружении файла шипс.ини. (копия 21К-замена наименования). Открыл тестово-испытательную миссию и... И масса интересных но совершенно не нужных эффектов. При виде противника (морская цель) "Кавказ" подобно ежу ощетинился орудиями, причем не одно на цель наведено не было, кроме прожектора. Прожектор навелся и открыл огонь с дикой скорострельностью, сплошной поток трассеров :eek: при этом огонь велся не по ближайшей цели а по самолетам находящимся на подлете и находящимся на заведомо недоступном для орудия расстоянии... При атаке ни один самолет сбит не был. При повторной загрузке миссии корабль не определяется...
В логе краткое, но емкое ругательство (2) мол: "меш эффектом не является и не суй его куда не надо".
Сижу смотрю эффекты...:cry:

Grejf11 15.11.2017 00:53

Таак значит движение определилось и случайным образом насчупалась пушка вулкан о шести стволах. Глядиш тебе реактивщики еще гран мерси скажут.
Как раз необходимая струя железа.

tvister 15.11.2017 01:21

Вложений: 3
Это конечно так, но точность со знаком -.
На скринах: положение орудий и скорострельность по сравнению с стоковой 70к- 4 к 1. Падение снарядов и поток трассеров.

tvister 15.11.2017 01:41

Однако это не то что нужно...


Текущее время: 08:29. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot