AviaSkins.Forums

Вернуться   AviaSkins.Forums > Основные разделы > Группа разработки AviaSkins.com > W.I.P.

Важная информация

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.10.2025, 20:48   #1301
Molva
Местный
 
Аватар для Molva
 
Регистрация: 06.07.2009
Адрес: г.Гомель
Сообщений: 2,607
Отправить сообщение для Molva с помощью ICQ Отправить сообщение для Molva с помощью Skype™
По умолчанию

Гроховский Г-37 WIP



https://disk.yandex.ru/d/RAUb13V7oojpJQ
__________________________________________________ ___________

Обновление V161125
https://disk.yandex.ru/d/9HyVIi6x_ZSvwA
__________________________________________________ ___________
air.ini
G-37 air.G_37 1 NOINFO r01 SUMMER

Спасибо всем, помогавшим словом и делом.
Отдельное спасибо Дмитрию 'Asura' Шабанову, Dimas1999.
Миниатюры
Нажмите на изображение для увеличения
Название: 2025.10.21.jpg
Просмотров: 1186
Размер:	747.8 Кб
ID:	76647  

Последний раз редактировалось Molva; 16.11.2025 в 09:53.
Molva вне форума   Ответить с цитированием
Старый 21.10.2025, 21:55   #1302
fdelre
Местный
 
Регистрация: 13.01.2009
Сообщений: 171
По умолчанию

Air.ini?
fdelre вне форума   Ответить с цитированием
Старый 21.10.2025, 23:23   #1303
Vasya
Звичайна людина на Землі
 
Аватар для Vasya
 
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,365
Сообщение

Цитата:
Сообщение от Molva Посмотреть сообщение
У нас не скачивается, забанено.
Может кто положит на гугл-диск???
Vasya вне форума   Ответить с цитированием
Старый 21.10.2025, 23:36   #1304
Toobone
Под игом быта
 
Аватар для Toobone
 
Регистрация: 11.05.2013
Адрес: Ех-СССР
Сообщений: 2,759
По умолчанию

Цитата:
Сообщение от Vasya Посмотреть сообщение
У нас не скачивается, забанено.
Может кто положит на гугл-диск???
https://dropmefiles.com.ua/ua/fhH7MW8
__________________
"Ялла, ялла! Бурверон!" - суетливый афганский торопляк.

"принятие или непринятие идей не должно зависеть от личных или общественных характеристик автора:
его раса, национальность, вероисповедание, общественное положение и личные качества не имеют к этому никакого отношения".
Торжество идей должно зависеть не от того, кто их поддерживает (или не поддерживает), а от их научной ценности и от того,
что они объясняют события и явления лучше других.
Toobone вне форума   Ответить с цитированием
Старый 22.10.2025, 03:38   #1305
злой
гость
 
Аватар для злой
 
Регистрация: 27.09.2014
Адрес: Россия
Сообщений: 5,160
По умолчанию

Спасибо Олег!
__________________

Не шалю, никого не трогаю, починяю примус.
Скины на заказ, не рисую.
злой вне форума   Ответить с цитированием
Старый 22.10.2025, 04:30   #1306
andrey65
Модератор
 
Аватар для andrey65
 
Регистрация: 05.11.2007
Адрес: Кемеровская область
Сообщений: 7,646
По умолчанию

Красота!
andrey65 вне форума   Ответить с цитированием
Старый 22.10.2025, 14:36   #1307
andrey65
Модератор
 
Аватар для andrey65
 
Регистрация: 05.11.2007
Адрес: Кемеровская область
Сообщений: 7,646
По умолчанию

Это нечто! Подвесную кабину сбросить не смог))
Миниатюры
Нажмите на изображение для увеличения
Название: 2025.10.22 11-22-15.jpg
Просмотров: 154
Размер:	670.4 Кб
ID:	76649   Нажмите на изображение для увеличения
Название: 2025.10.22 11-22-59.jpg
Просмотров: 134
Размер:	472.2 Кб
ID:	76650   Нажмите на изображение для увеличения
Название: 2025.10.22 11-26-35.jpg
Просмотров: 140
Размер:	1.23 Мб
ID:	76651   Нажмите на изображение для увеличения
Название: 2025.10.22 11-27-35.jpg
Просмотров: 135
Размер:	646.4 Кб
ID:	76652   Нажмите на изображение для увеличения
Название: 2025.10.22 11-28-48.jpg
Просмотров: 139
Размер:	589.9 Кб
ID:	76653  

Нажмите на изображение для увеличения
Название: 2025.10.22 11-30-16.jpg
Просмотров: 114
Размер:	723.9 Кб
ID:	76654   Нажмите на изображение для увеличения
Название: 2025.10.22 11-31-51.jpg
Просмотров: 123
Размер:	881.3 Кб
ID:	76655   Нажмите на изображение для увеличения
Название: 2025.10.22 11-31-55.jpg
Просмотров: 104
Размер:	865.5 Кб
ID:	76656   Нажмите на изображение для увеличения
Название: 2025.10.22 11-32-28.jpg
Просмотров: 120
Размер:	923.0 Кб
ID:	76657  
andrey65 вне форума   Ответить с цитированием
Старый 23.10.2025, 09:51   #1308
Molva
Местный
 
Аватар для Molva
 
Регистрация: 06.07.2009
Адрес: г.Гомель
Сообщений: 2,607
Отправить сообщение для Molva с помощью ICQ Отправить сообщение для Molva с помощью Skype™
По умолчанию

Что надо сделать для передачи управления второму пилоту? И чтобы он выполнял функции бомбардира.
Molva вне форума   Ответить с цитированием
Старый 23.10.2025, 12:42   #1309
Asura
Модератор
 
Аватар для Asura
 
Регистрация: 28.02.2007
Адрес: Тула, Россия
Сообщений: 1,892
По умолчанию

Сделать класс кабины бомбардира, в кабине пилота передвинуть камеру на место второго пилота и новый хир хим прицепить в класс кабины бомбардира. Я обычно делаю копию Body (камеры чаще всего именно к этому мешу зацеплены), обзываю например BodyB. В новом меше делаю нужные камеры. Делаю копию хир хим типа hierB.him, внутри переобзываю мешь Body

[Body]
Mesh BodyB

и в классе кабины бомбардира указываю hierB.him. Вобщем то все. Сам класс повторяет класс пилота только в секцию статик надо добавить:

Property.set(CLASS.THIS(), "astatePilotIndx", 1);
Property.set(CLASS.THIS(), "aiTuretNum", BOMBARDIER_INDEX);
Property.set(CLASS.THIS(), "weaponControlNum", 3);

Ну и если класс под 4.13 и выше в начале класса

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

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

Asura вне форума   Ответить с цитированием
Старый 24.10.2025, 23:53   #1310
Molva
Местный
 
Аватар для Molva
 
Регистрация: 06.07.2009
Адрес: г.Гомель
Сообщений: 2,607
Отправить сообщение для Molva с помощью ICQ Отправить сообщение для Molva с помощью Skype™
По умолчанию

Цитата:
Сообщение от Asura Посмотреть сообщение
Сделать класс кабины бомбардира...
Спасибо за пояснения. Класс сделал, второй пилот появился. А вот бомбардир прицела не видит. Камера смотрит только вперед как ни крутил хук.
Molva вне форума   Ответить с цитированием
Старый 25.10.2025, 11:16   #1311
Asura
Модератор
 
Аватар для Asura
 
Регистрация: 28.02.2007
Адрес: Тула, Россия
Сообщений: 1,892
По умолчанию

Надо еще добавить обработку "прильнуть к прицелу":

Код:
    protected boolean doFocusEnter() 
    {
        if(super.doFocusEnter()) 
        {
          HookPilot hook = HookPilot.cur();
          hook.doAim(false);
          Point3d p3d = new Point3d();
          p3d.set(0.15F, 0F, -0.10F);
          hook.setTubeSight(p3d);
          
          return true;
        }else {
          return false;
        }
    }
    
    protected void    doFocusLeave() 
    {
    	if(!isFocused()) return;
        leave();
        super.doFocusLeave();
    }

    private void prepareToEnter()
    {
        HookPilot hook = HookPilot.cur();
        if(hook.isPadlock())
          hook.stopPadlock();
        hook.doAim(true);
        hook.setSimpleAimOrient(0F,-33F,0F);
        enteringAim = true;
    }
      
    private void enter() 
    {
        saveFov = Main3D.FOVX;
        CmdEnv.top().exec("fov "+saveBSFov);
        Main3D.cur3D().aircraftHotKeys.enableBombSightFov();
        HookPilot hook = HookPilot.cur();
        hook.setInstantOrient(aAim,tAim,0);
        hook.setSimpleUse(true);
        hook.setStabilizedBSUse(true);
        doSetSimpleUse(true);
        HotKeyEnv.enable("PanView",false);
        HotKeyEnv.enable("SnapView",false);
        bEntered = true;
    }
      
    private void leave() 
    {
        if(enteringAim)
        {
          HookPilot hook = HookPilot.cur();
          hook.setInstantOrient(0F,-33F,0F);
          hook.doAim(false);
          hook.setSimpleAimOrient(0.0f, 0.0f, 0.0f);
          return;
        }
        
        if(!bEntered) return;
        
        saveBSFov = Main3D.FOVX;
        Main3D.cur3D().aircraftHotKeys.setEnableChangeFov(true);
        CmdEnv.top().exec("fov "+saveFov);
        HookPilot hook = HookPilot.cur();
        hook.setInstantOrient(0F,-33F,0F);
        hook.doAim(false);
        hook.setSimpleAimOrient(0,0,0);
        hook.setSimpleUse(false);
        hook.setStabilizedBSUse(false);
        doSetSimpleUse(false);
        boolean bEnable = HotKeyEnv.isEnabled("aircraftView");
        HotKeyEnv.enable("PanView",bEnable);
        HotKeyEnv.enable("SnapView",bEnable);
        bEntered = false;
    } 
   
    public void destroy() 
    {
	   super.destroy();
	   leave();
    }

    public void doToggleAim( boolean bToggleAim ) 
    {
        if(!isFocused()) return;
        if(isToggleAim() == bToggleAim) return;
        if(bToggleAim) prepareToEnter();
        else           leave();
    }

    public CockpitXXXXX_Bombardier()
    {
        super("3DO/Cockpit/XXXXX_Bombardier/hier.him", "bf109");    
        
        try {
            Loc l = new Loc();
            Hook hook = new HookNamed(mesh, "CAMERAAIM");
            hook.computePos(this,new Loc(),l);
            aAim = l.getOrient().getAzimut();
            tAim = l.getOrient().getTangage();
          }catch (Exception e) {
            System.out.println(e.getMessage());
            e.printStackTrace();
          }
    }
Хук CAMERAAIM должен смотреть в меш прицела (вниз на сетку). Еслши прицел как то управляется то в в процедуре public void reflectWorldToInstruments(float delta) надо прописать код управления (просто взять из класса самолета где используется аналогичный).
__________________
Их восемь — нас двое. Расклад перед боем
Не наш, но мы будем играть!
Серёжа! Держись, нам не светит с тобою,
Но козыри надо равнять.

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

Asura вне форума   Ответить с цитированием
Старый 25.10.2025, 15:05   #1312
Molva
Местный
 
Аватар для Molva
 
Регистрация: 06.07.2009
Адрес: г.Гомель
Сообщений: 2,607
Отправить сообщение для Molva с помощью ICQ Отправить сообщение для Molva с помощью Skype™
По умолчанию

Цитата:
Сообщение от Asura Посмотреть сообщение
Надо еще добавить обработку "прильнуть к прицелу"
Добавил. Переключение к прицелу есть.
Цитата:
Хук CAMERAAIM должен смотреть в меш прицела (вниз на сетку).
CAMERAAIM смотрит всегда вперед, как не крутил хук.
Molva вне форума   Ответить с цитированием
Старый 26.10.2025, 12:52   #1313
andrey65
Модератор
 
Аватар для andrey65
 
Регистрация: 05.11.2007
Адрес: Кемеровская область
Сообщений: 7,646
По умолчанию

У Г-37 фм от чего?
andrey65 вне форума   Ответить с цитированием
Старый 26.10.2025, 13:16   #1314
Molva
Местный
 
Аватар для Molva
 
Регистрация: 06.07.2009
Адрес: г.Гомель
Сообщений: 2,607
Отправить сообщение для Molva с помощью ICQ Отправить сообщение для Molva с помощью Skype™
По умолчанию

Ли-2.
Molva вне форума   Ответить с цитированием
Старый 26.10.2025, 23:02   #1315
carsmaster
Пытающийся полететь
 
Аватар для carsmaster
 
Регистрация: 21.05.2009
Адрес: Сталинград
Сообщений: 2,558
Отправить сообщение для carsmaster с помощью ICQ Отправить сообщение для carsmaster с помощью Skype™
По умолчанию

Цитата:
Сообщение от Molva Посмотреть сообщение
CAMERAAIM смотрит всегда вперед, как не крутил хук.
Сам хук или его пивот крутить в меше бесполезно, хуки крутятся и выставляется наклон хука в классе, см пост Дмитрия №1311.
__________________
Даёшь защищенный онлайн и Свободный оффлайн.

Теперь я и в телеграмме: https://t.me/il_2_1946
carsmaster вне форума   Ответить с цитированием
Старый 27.10.2025, 09:12   #1316
Asura
Модератор
 
Аватар для Asura
 
Регистрация: 28.02.2007
Адрес: Тула, Россия
Сообщений: 1,892
По умолчанию

Вот этот кусок в часть где хир хим прописан добавил?

Код:
try {
            Loc l = new Loc();
            Hook hook = new HookNamed(mesh, "CAMERAAIM");
            hook.computePos(this,new Loc(),l);
            aAim = l.getOrient().getAzimut();
            tAim = l.getOrient().getTangage();
          }catch (Exception e) {
            System.out.println(e.getMessage());
            e.printStackTrace();
          }
__________________
Их восемь — нас двое. Расклад перед боем
Не наш, но мы будем играть!
Серёжа! Держись, нам не светит с тобою,
Но козыри надо равнять.

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

Asura вне форума   Ответить с цитированием
Старый 27.10.2025, 21:02   #1317
Molva
Местный
 
Аватар для Molva
 
Регистрация: 06.07.2009
Адрес: г.Гомель
Сообщений: 2,607
Отправить сообщение для Molva с помощью ICQ Отправить сообщение для Molva с помощью Skype™
По умолчанию

Цитата:
Сообщение от Asura Посмотреть сообщение
Вот этот кусок в часть где хир хим прописан добавил?
Добавил. Сейчас получается такая картинка. Прицел брал от ТБ-3. Но прицела не видно.
Миниатюры
Нажмите на изображение для увеличения
Название: 2025.10.27.jpg
Просмотров: 72
Размер:	1.07 Мб
ID:	76674  
Molva вне форума   Ответить с цитированием
Старый 29.10.2025, 09:26   #1318
Asura
Модератор
 
Аватар для Asura
 
Регистрация: 28.02.2007
Адрес: Тула, Россия
Сообщений: 1,892
По умолчанию

Тогда надо добавить еще вот что;

Код:
  private float curAlt = 300.0f;
  private float curSpd = 50.0f;

  
  class Interpolater extends InterpolateRef 
  {
    public boolean tick() {
      resetYPRmodifier();
      float v = ((G_37)aircraft()).fSightCurSpeed;
      float h = ((G_37)aircraft()).fSightCurAltitude;
      curAlt = (19.0f*curAlt+h)/20.0f;
      curSpd = (19.0f*curSpd+v)/20.0f;
      mesh.chunkSetAngles("zScaleKM", 0.04f*curAlt, 0.0f, 0.0f);
      mesh.chunkSetAngles("zScaleM", 0.36f*curAlt, 0.0f, 0.0f);
      mesh.chunkSetAngles("zScaleKMH", -0.8f*(curSpd-50.0f), 0.0f, 0.0f);
      float m300 = 0.5f*(float)Math.tan(Math.atan( (300.0f/3.6f)*(Math.sqrt(2.0f*curAlt/Atmosphere.g()))/(curAlt) ));
      float m = (float)Math.tan(Math.atan( (curSpd/3.6f)*(Math.sqrt(2.0f*curAlt/Atmosphere.g()))/(curAlt) ));
      xyz[0] = -0.0005f*curAlt;
      xyz[1] = -1.0f*(m300 - m);
      mesh.chunkSetLocate("zScaleCurve", xyz, ypr);

      if (bEntered)
      {
    	  float tan = aircraft().FM.Or.getTangage();
    	  if (tan > 5f)
    		  tan = 5f;
    	  else if (tan < -5f)
    		  tan = -5f;
    	  mesh.chunkSetAngles("BlackBox", 0.0f, 0f, tan);
    	  HookPilot hook = HookPilot.cur();
          hook.setInstantOrient(aAim, tAim-tan, 0f);
      }
      
      return true;
    }
  }
  
    public void reflectWorldToInstruments ( float delta ) 
	{
		if(bEntered) {
		  mesh.chunkVisible("BlackBox", true);
		  mesh.chunkVisible("zReticle", true);
		  mesh.chunkVisible("zScaleCurve", true);
		  mesh.chunkVisible("zScaleM", true);
		  mesh.chunkVisible("zScaleKM", true);
		  mesh.chunkVisible("zScaleKMH", true);
		}else {
		  mesh.chunkVisible("BlackBox", false);
		  mesh.chunkVisible("zReticle", false);
		  mesh.chunkVisible("zScaleCurve", false);
		  mesh.chunkVisible("zScaleM", false);
		  mesh.chunkVisible("zScaleKM", false);
		  mesh.chunkVisible("zScaleKMH", false);
		}
	}
И в класс самолета добавить если нет:

Код:
	public float fSightCurAltitude = 300.0f; // 300 - 5000 m
	public float fSightCurSpeed = 50.0f; // 50 - 350 km/h

	private Point3d endPoint = new Point3d();
	private Point3d hitPoint = new Point3d();
	private Vector3d vTemp = new Vector3d();
	private Orient oTemp = new Orient();

	public boolean typeBomberToggleAutomation()
	{
		return false;
	}

	public void typeBomberAdjDistanceReset()
	{
	}

	public void typeBomberAdjDistancePlus()
	{
	}

	public void typeBomberAdjDistanceMinus()
	{
	}

	public void typeBomberAdjSideslipReset()
	{
	}

	public void typeBomberAdjSideslipPlus()
	{
	}

	public void typeBomberAdjSideslipMinus()
	{
	}

	public void typeBomberAdjAltitudeReset()
	{
		if (!World.cur().diffCur.RealisticBombSights)
			return;
		fSightCurAltitude = 300.0f;
	}

	public void typeBomberAdjAltitudePlus()
	{
		if (!World.cur().diffCur.RealisticBombSights)
			return;
		fSightCurAltitude += 50.0f;
		if (fSightCurAltitude > 5000.0f)
		{
			fSightCurAltitude = 5000.0f;
		}
		HUD.log(AircraftHotKeys.hudLogWeaponId, "BombsightAltitude",
				new Object[]
				{ new Integer((int) fSightCurAltitude) });
	}

	public void typeBomberAdjAltitudeMinus()
	{
		if (!World.cur().diffCur.RealisticBombSights)
			return;
		fSightCurAltitude -= 50.0f;
		if (fSightCurAltitude < 300.0f)
		{
			fSightCurAltitude = 300.0f;
		}
		HUD.log(AircraftHotKeys.hudLogWeaponId, "BombsightAltitude",
				new Object[]
				{ new Integer((int) fSightCurAltitude) });
	}

	public void typeBomberAdjSpeedReset()
	{
		if (!World.cur().diffCur.RealisticBombSights)
			return;
		fSightCurSpeed = 50.0f;
	}

	public void typeBomberAdjSpeedPlus()
	{
		if (!World.cur().diffCur.RealisticBombSights)
			return;
		fSightCurSpeed += 5.0f;
		if (fSightCurSpeed > 350.0f)
		{
			fSightCurSpeed = 350.0f;
		}
		HUD.log(AircraftHotKeys.hudLogWeaponId, "BombsightSpeed", new Object[]
		{ new Integer((int) fSightCurSpeed) });
	}

	public void typeBomberAdjSpeedMinus()
	{
		if (!World.cur().diffCur.RealisticBombSights)
			return;
		fSightCurSpeed -= 5.0f;
		if (fSightCurSpeed < 50.0f)
		{
			fSightCurSpeed = 50.0f;
		}
		HUD.log(AircraftHotKeys.hudLogWeaponId, "BombsightSpeed", new Object[]
		{ new Integer((int) fSightCurSpeed) });
	}

	public void typeBomberUpdate(float dt)
	{
		if (!World.cur().diffCur.RealisticBombSights){

			fSightCurAltitude = (float)World.getPlayerAircraft().FM.getAltitude()-(float)hitPoint.z;
			fSightCurSpeed = (float)World.getPlayerAircraft().getSpeed(null)*3.6f;
			double bombDist = getBombDist(fSightCurAltitude,
					(double) (fSightCurSpeed / 3.6000000000000001D));

			//measure the exact ground height at the point where the bombsight is pointing.
			if (FM.isTick(4, 0))
			{
				oTemp.setYaw(FM.Or.getYaw());
				oTemp.setRoll(0);
				oTemp.setPitch(30f);
				vTemp.set(1,0,0);
				oTemp.transform(vTemp);
				vTemp.scale(100000);
				endPoint.set(this.pos.getAbsPoint());
				endPoint.add(vTemp);
				Landscape.rayHitHQ(this.pos.getAbsPoint(), endPoint, hitPoint);
			}
		}
	}

	public void typeBomberReplicateToNet(NetMsgGuaranted out)
			throws IOException
	{
		if (!World.cur().diffCur.RealisticBombSights)
			return;
		out.writeFloat(fSightCurAltitude);
		out.writeFloat(fSightCurSpeed);
	}

	public void typeBomberReplicateFromNet(NetMsgInput in) throws IOException
	{
		if (!World.cur().diffCur.RealisticBombSights)
			return;
		fSightCurAltitude = in.readFloat();
		fSightCurSpeed = in.readFloat();
	}
  }
Весь код под версию 4.13, для 4.12 возможно потребуется поправить.
__________________
Их восемь — нас двое. Расклад перед боем
Не наш, но мы будем играть!
Серёжа! Держись, нам не светит с тобою,
Но козыри надо равнять.

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

Asura вне форума   Ответить с цитированием
Старый 29.10.2025, 14:02   #1319
Molva
Местный
 
Аватар для Molva
 
Регистрация: 06.07.2009
Адрес: г.Гомель
Сообщений: 2,607
Отправить сообщение для Molva с помощью ICQ Отправить сообщение для Molva с помощью Skype™
По умолчанию

Цитата:
Сообщение от Asura Посмотреть сообщение
Тогда надо добавить еще вот что;
Не получилось сделать класс. Вот такие ошибки:
Миниатюры
Нажмите на изображение для увеличения
Название: 2910.jpg
Просмотров: 408
Размер:	144.1 Кб
ID:	76683  
Molva вне форума   Ответить с цитированием
Старый 29.10.2025, 16:09   #1320
Molva
Местный
 
Аватар для Molva
 
Регистрация: 06.07.2009
Адрес: г.Гомель
Сообщений: 2,607
Отправить сообщение для Molva с помощью ICQ Отправить сообщение для Molva с помощью Skype™
По умолчанию

Осталась одна ошибка:
Миниатюры
Нажмите на изображение для увеличения
Название: 2910.jpg
Просмотров: 1511
Размер:	31.1 Кб
ID:	76684  
Molva вне форума   Ответить с цитированием
Ответ


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

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

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

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


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


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