Тема: Hier him
Показать сообщение отдельно
Старый 18.09.2014, 20:19   #54
Vasya
Звичайна людина на Землі
 
Аватар для Vasya
 
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,085
Радость

Цитата:
Сообщение от Novichok8 Посмотреть сообщение
Вот кокпитная модель крутиться по кругу нормально, а вот внешняя не по той оси.
Ну тогда продолжу писать соображения:
переделывая гироскопичный прицел для патча 4.12.2 я увидел такие ньюансы - в классе кокпита обязательно указываеться конкретный класс самолёта где код работы гироскопа должен увидеть продолжения команд., типа - как должен работать гироскоп применительно к кренам самолёта и т.д.,
так же - по работе открывалки кокпитов - там конкретно указываеться какой меш должен двигаться и название совпадает с названием в папке планес самолёта., эти меши двигаються по осям и они конкретно вписаны в оба класса., делая открывалку внешки для И-185 и Яка-9, получилось подставить команды от Хаята, скорректировав цыфры для более правильного движения крышки фонаря по направляющим., не только двигал цыфры, но и менял местами в строке - так получилось заставить крышку фонаря у Яка-9 двигаться назад, а двигалась и вверх и вбок и т.д.,
я это пишу вам с надеждой что хоть небольшая польза будет от меня для настройки ваших модов.,
перенастроить движения по осям не очень сложно - я внимательно посмотрел команды в классах из различным модов, сравнивая между собой и пазл стал складываться в голове, стал немного догонять как это работает.
Примеры для внешки:
Як-9
public void moveCockpitDoor(float f)
{
resetYPRmodifier();
Aircraft.xyz[0] = Aircraft.cvt(f, 0.01F, 0.99F, 0.0F, -0.62F);
hierMesh().chunkSetLocate("Blister1_D0", Aircraft.xyz, Aircraft.ypr);
if(Config.isUSE_RENDER())
{
if(Main3D.cur3D().cockpits != null && Main3D.cur3D().cockpits[0] != null)
Main3D.cur3D().cockpits[0].onDoorMoved(f);
setDoorSnd(f);
}
}
И-185
public void moveCockpitDoor(float f)
{
resetYPRmodifier();
Aircraft.xyz[1] = Aircraft.cvt(f, 0.01F, 0.99F, 0.0F, 0.0197F);
Aircraft.xyz[2] = Aircraft.cvt(f, 0.01F, 0.99F, 0.0F, -0.65F);
Aircraft.ypr[2] = Aircraft.cvt(f, 0.01F, 0.99F, 0.0F, 1.0F);
hierMesh().chunkSetLocate("Blister1_D0", Aircraft.xyz, Aircraft.ypr);
if(Config.isUSE_RENDER())
{
if(Main3D.cur3D().cockpits != null && Main3D.cur3D().cockpits[0] != null)
Main3D.cur3D().cockpits[0].onDoorMoved(f);
setDoorSnd(f);
}
}
Хаят
public void moveCockpitDoor(float f)
{
resetYPRmodifier();
Aircraft.xyz[1] = Aircraft.cvt(f, 0.01F, 0.99F, 0.0F, -0.01845F);
Aircraft.xyz[2] = Aircraft.cvt(f, 0.01F, 0.99F, 0.0F, -0.635F);
Aircraft.ypr[2] = Aircraft.cvt(f, 0.01F, 0.99F, 0.0F, 1.0F);
hierMesh().chunkSetLocate("Blister1_D0", Aircraft.xyz, Aircraft.ypr);
if(Config.isUSE_RENDER())
{
if(Main3D.cur3D().cockpits != null && Main3D.cur3D().cockpits[0] != null)
Main3D.cur3D().cockpits[0].onDoorMoved(f);
setDoorSnd(f);
}
}
Райден
public void moveCockpitDoor(float f)
{
resetYPRmodifier();
Aircraft.xyz[1] = Aircraft.cvt(f, 0.01F, 0.99F, 0.0F, 0.0198F);
Aircraft.xyz[2] = Aircraft.cvt(f, 0.01F, 0.99F, 0.0F, 0.65F);
Aircraft.ypr[2] = Aircraft.cvt(f, 0.01F, 0.99F, 0.0F, 1.0F);
hierMesh().chunkSetLocate("Blister1_D0", Aircraft.xyz, Aircraft.ypr);
if(Config.isUSE_RENDER())
{
if(Main3D.cur3D().cockpits != null && Main3D.cur3D().cockpits[0] != null)
Main3D.cur3D().cockpits[0].onDoorMoved(f);
setDoorSnd(f);
}
}
Я не хочу быть задавакой - просто хочеться чем то помочь.
А вообще у меня немного творческий кризис/простой в мододелании., хотя недоделынных модов ворох лежит.

Последний раз редактировалось Vasya; 18.09.2014 в 20:37.
Vasya вне форума   Ответить с цитированием