AviaSkins.Forums

Вернуться   AviaSkins.Forums > Основные разделы > Моды для Ил-2 > Первым делом, первым делом - самолеты > W.I.P.

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.08.2019, 14:14   #1
Asura
Модератор
 
Аватар для Asura
 
Регистрация: 28.02.2007
Адрес: Тула, Россия
Сообщений: 1,815
По умолчанию

Цитата:
Сообщение от tvister Посмотреть сообщение
Спасибо за подсказку, конечно я обратил внимание на буквы Матs в логе. Думал что reflectPlane, это материал какой то. А оказалось классы. Но ведь исходная модель с этими классами кабины, нормально летает! Как то все это непонятно...
В классе кабин есть такая процедура reflectPlaneMats(). Она нужна для отображения скина при виде из кабины в тех случаях когда части внешки добавлены в сцену кабины. Например у бипланов при виде из кабины видно верхнее крыло. Если в сцене кабины нет этого крыла, то на виде из кабины оно (крыло) будет как бы обрезаться (исчезать). Это связано с тем, что камера кабины обрезает внешку за пределами сферы. Чтобы верхнее крыло все таки отображалось его добавляют в сцену кабины, и мы получаем как бы два крыла - одно на внешке, другое в кабине. При этом при совмещении изображений обрезаний не происходит.

Изменение скина внешки на прямую не отражается на крыле в кабине. Вот чтобы из кабины было видно верхнее крыло в том же скине что внешка применяется данная процедура. Она сопоставляет материал внешки с материалом в кабине.

protected void reflectPlaneMats()
{
HierMesh hiermesh = aircraft().hierMesh();
com.maddox.il2.engine.Mat mat = hiermesh.material(hiermesh.materialFind("Gloss1D0o "));
mesh.materialReplace("Gloss1D0o", mat);
mat = hiermesh.material(hiermesh.materialFind("Gloss1D1o "));
mesh.materialReplace("Gloss1D1o", mat);
mat = hiermesh.material(hiermesh.materialFind("Gloss2D2o "));
mesh.materialReplace("Gloss2D2o", mat);
mat = hiermesh.material(hiermesh.materialFind("Matt1D0o" ));
mesh.materialReplace("Matt1D0o", mat);
mat = hiermesh.material(hiermesh.materialFind("Matt1D1o" ));
mesh.materialReplace("Matt1D1o", mat);
mat = hiermesh.material(hiermesh.materialFind("Matt2D0o" )); - это материал внешки
mesh.materialReplace("Matt2D0o", mat); - это сопоставление с материалом в кабине
}

Если частей внешки в кабине нет, то и процедура эта в классе не нужна. Можно ее вообще удалить.
Если же части внешки есть, то материал меша кабины должен быть сопоставлен с материалом аналогичного меша внешки.

У вас это сопоставление не проходит и вылетает ошибка.
__________________
Их восемь — нас двое. Расклад перед боем
Не наш, но мы будем играть!
Серёжа! Держись, нам не светит с тобою,
Но козыри надо равнять.

© В. Высоцкий
__________________

Asura вне форума   Ответить с цитированием
Старый 30.08.2019, 16:28   #2
tvister
Местный
 
Аватар для tvister
 
Регистрация: 26.12.2013
Адрес: Донецьк Україна
Сообщений: 1,848
По умолчанию

Цитата:
Сообщение от Asura Посмотреть сообщение
В классе кабин есть такая процедура reflectPlaneMats().
Большое спасибо за разъяснения. Постараюсь разобраться.

Цитата:
Сообщение от Mixx Посмотреть сообщение
Относительно схемы компоновки Ки-30.
Спасибо за поддержку. Иногда мозги действительно кипят, как сейчас с кокпитом. Ну ничего, в крайнем случае как ИИ будет летать, хотя хотелось бы и самому попробовать. Еще если бы Василий помог реальную флайт-модель нарисовать...
По компоновочной схеме. Даже в японских источниках, я использую "Japanese Aircraft Interiors 1940-1945" информации по Ки-30 нет. Один камрад, sosezi, вроде как сам японец, обещал помочь с информацией, но ничего путного не нашел. Пока ворошу интернет, а что найду кидаю в Word-копилку. Кое что уже есть. По поводу тех же бомбодержателей, есть много фото по которым можно определить форму и расположение бомбодержателей. Вот на вскидку:
Миниатюры
Нажмите на изображение для увеличения
Название: ki30-1.jpg
Просмотров: 409
Размер:	35.2 Кб
ID:	61721   Нажмите на изображение для увеличения
Название: ki30-8.jpg
Просмотров: 408
Размер:	97.1 Кб
ID:	61722  
tvister вне форума   Ответить с цитированием
Старый 30.08.2019, 16:52   #3
tvister
Местный
 
Аватар для tvister
 
Регистрация: 26.12.2013
Адрес: Донецьк Україна
Сообщений: 1,848
По умолчанию

Победа!!! Asura СПАСИБО ОГРОМНЕЙШЕЕ
Мне не удалось удалить строки с этой "процедурой" но заменив в этих строках
Код:
 protected void reflectPlaneMats() {
	HierMesh hiermesh = aircraft().hierMesh();
	Mat mat = hiermesh.material(hiermesh.materialFind("Matt1D0o"));
	mesh.materialReplace("Matt1D0o", mat);
Matt1D0o на Gloss1D0o, все поверхности видимые из кабины представлены материалом Gloss1D0o, удалось получить рабочий кокпит.

П.С. А вот Ки-36 летает с Matt1D0o и не знает об этом...
tvister вне форума   Ответить с цитированием
Старый 31.08.2019, 03:52   #4
Mixx
Местный
 
Регистрация: 04.12.2007
Сообщений: 1,408
По умолчанию

Цитата:
Сообщение от tvister Посмотреть сообщение
хотелось бы и самому попробовать. Еще если бы Василий помог реальную флайт-модель нарисовать...
Это точно. Так как САсовская фм Ки-30- загрузка 100% (null). Требует Ки-51, но а тот вдобавок требовал установленный франкен Кавасаки, а тот ссылался на фм Ки-30а. Это ранние опыты с фм еще Шкипера


Цитата:
Сообщение от tvister Посмотреть сообщение
По поводу тех же бомбодержателей, есть много фото по которым можно определить форму и расположение бомбодержателей. Вот на вскидку:
На форуме SM есть на Ки-51 ( Ну а Сонька уменьшенное продолжение Ки-30) Там крыльевые бомбодержатели более менее видны и указана загрузка
Миниатюры
Нажмите на изображение для увеличения
Название: Ki-51_0.jpg
Просмотров: 419
Размер:	218.8 Кб
ID:	61725   Нажмите на изображение для увеличения
Название: KI_51.jpg
Просмотров: 421
Размер:	256.0 Кб
ID:	61726   Нажмите на изображение для увеличения
Название: Ki-51_009.jpg
Просмотров: 431
Размер:	96.8 Кб
ID:	61728   Нажмите на изображение для увеличения
Название: ki30-12.jpg
Просмотров: 416
Размер:	95.3 Кб
ID:	61729  
Вложения
Тип файла: zip ki51-type-99-sonia.zip (438.0 Кб, 284 просмотров)

Последний раз редактировалось Mixx; 31.08.2019 в 03:57.
Mixx вне форума   Ответить с цитированием
Старый 31.08.2019, 11:41   #5
tvister
Местный
 
Аватар для tvister
 
Регистрация: 26.12.2013
Адрес: Донецьк Україна
Сообщений: 1,848
По умолчанию

Спасибо Mixx! Это очень ценная информация! Когда то очень давно, я сам хотел собрать "Соню" и собирал материал по ней, но её сделали другие камрады, за что им большое спасибо. Материал по "Соне" я выкинул, а когда принялся за "Энн", ничего не нашел. По поводу фм, для работы я скачал последнюю версию Ки-30, и у неё своя прописанная в классах фм-ка. Другое дело, что у исходной модели "Энн" половина мешей имеет неправильно расставленные центральные точки. Некоторые наши коллеги считают, что расположение центральных точек (не _ROOT_) влияет на поведение модели в воздухе. Вот и проверим теорию практикой, расставлю точки как в дефолтной модели "Вел" и посмотрим как модель будет летать.
tvister вне форума   Ответить с цитированием
Старый 01.09.2019, 16:01   #6
tvister
Местный
 
Аватар для tvister
 
Регистрация: 26.12.2013
Адрес: Донецьк Україна
Сообщений: 1,848
По умолчанию

Наскреб ещё немножко инфы по Ки-30. "Одна баба сказала", что Ки-30 это ничто иное как адаптированный под бомбардировщик вариант Ки-15. Отсюда, можно использовать конструктивные особенность Ки-15 для Ки-30, благо инфы по Ки-пятнадцатым несравненно больше чем по "Энн".
Немножко поработал с моделью. Сделал лепестки юбки капота. Тут все очень просто. Делаю копию задней части капота, выделяю в отдельный меш, который делю на лепестки. Выделяю переднее ребро каждого лепестка и переношу туда центральную точку. Добавляю в класс строки
Код:
	}
	if (arrestor > FM.CT.getArrestor())
	    arrestor = FM.CT.getArrestor();
	moveArrestorHook(arrestor);
	float f_4_ = FM.EI.engines[0].getControlRadiator();
	if (Math.abs(flapps - f_4_) > 0.02F) {
	    flapps = f_4_;
	    for (int i = 1; i < 11; i++)
		hierMesh().chunkSetAngles("Water" + i + "_D0", 0.0F,
					  -20.0F * f_4_, 0.0F);
отвечающие за анимацию работы лепестков. Створки охлаждения "почти готовы". Почти, потому что во первых огорчает "граненность" лепестков (материал нуль и мануал от choisek в помощь), а во вторых видимо нужно настроить локальные координаты. При открытии радиатора лепестки дружно задираются к верху.
Миниатюры
Нажмите на изображение для увеличения
Название: Новый рисунок.jpg
Просмотров: 427
Размер:	311.2 Кб
ID:	61754   Нажмите на изображение для увеличения
Название: Новый рисунок (1).jpg
Просмотров: 427
Размер:	271.3 Кб
ID:	61755   Нажмите на изображение для увеличения
Название: Новый рисунок (2).jpg
Просмотров: 423
Размер:	241.1 Кб
ID:	61756   Нажмите на изображение для увеличения
Название: Новый рисунок (3).jpg
Просмотров: 436
Размер:	288.2 Кб
ID:	61757   Нажмите на изображение для увеличения
Название: 2019.09.01 11-03-06.jpg
Просмотров: 451
Размер:	249.7 Кб
ID:	61758  

tvister вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Рейтинг@Mail.ru