Показать сообщение отдельно
Старый 18.12.2013, 23:09   #25
wasted
Местный
 
Аватар для wasted
 
Регистрация: 31.12.2011
Адрес: Полтава, Україна
Сообщений: 107
По умолчанию

Еще порылся, и мне кажется, что ответ кроется в Посадочных огнях:

Engine.land(); if (Landscape.rayHitHQ(lLightP1, lLightP2, lLightPL))

это в классе Aircraft.class

но теперь нужно понять, как это использовать. И потом как заставить хук луча поворачиваться вместе с мешем. ну и потом придумать, как собственно поворачивать сам меш.


Вот собственно:

for (int i = 0; i < 4; ++i)
/* 2043 */ if (this.FM.AS.astateLandingLightEffects[i] != null) {
/* 2044 */ lLightLoc1.set(0.0D, 0.0D, 0.0D, 0.0F, 0.0F, 0.0F);
/* 2045 */ this.lLightHook[i].computePos(this, _tmpLoc, lLightLoc1);
/* 2046 */ lLightLoc1.get(lLightP1);
/* 2047 */ lLightLoc1.set(1000.0D, 0.0D, 0.0D, 0.0F, 0.0F, 0.0F);
/* 2048 */ this.lLightHook[i].computePos(this, _tmpLoc, lLightLoc1);
/* 2049 */ lLightLoc1.get(lLightP2);
/* 2050 */ Engine.land(); if (Landscape.rayHitHQ(lLightP1, lLightP2, lLightPL)) {
/* 2051 */ lLightPL.z += 1.0D;
/* 2052 */ lLightP2.interpolate(lLightP1, lLightPL, 0.95F);
/* 2053 */ this.lLight[i].setPos(lLightP2);
/* 2054 */ float f1 = (float)lLightP1.distance(lLightPL);
/* 2055 */ float f2 = f1 * 0.5F + 30.0F;
/* 2056 */ float f3 = 0.5F - (0.5F * f1 / 1000.0F);
/* 2057 */ this.lLight[i].setEmit(f3, f2);
/* */ } else {
/* 2059 */ this.lLight[i].setEmit(0.0F, 0.0F);
/* */ }
/* */ }

Далеко не все понимаю.

Очень бы пригодились разьясниния.
wasted вне форума   Ответить с цитированием