AviaSkins.Forums

Вернуться   AviaSkins.Forums > Основные разделы > Моделирование и конструирование

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.03.2019, 01:40   #1
tvister
Местный
 
Аватар для tvister
 
Регистрация: 26.12.2013
Адрес: Донецьк Україна
Сообщений: 1,848
По умолчанию

Все, что написано далее, это предположения.
Больше всего, меня почему то тревожат различия в устройстве сдвижных частей фонаря.
В материнском файле Д3А нет упоминания о меше Blister1_D0 но такой фрагмент есть в дочернем файле Д3А1.

PHP код:
   }
    
    public 
void moveCockpitDoor(float f) {
    
resetYPRmodifier();
    
xyz[1] = cvt(f0.01F0.99F0.0F0.44F);
    
hierMesh().chunkSetLocate("Blister1_D0"xyzypr);
    if (
Config.isUSE_RENDER()) {
        if (
Main3D.cur3D().cockpits != null
        
&& Main3D.cur3D().cockpits[0] != null)
        
Main3D.cur3D().cockpits[0].onDoorMoved(f);
        
setDoorSnd(f);
    } 
Заменим его на код извлеченный из материнского Ки-36Х
PHP код:
    }
    
    public 
void moveCockpitDoor(float f) {
    
this.resetYPRmodifier();
    
Aircraft.xyz[1] = Aircraft.cvt(f0.01F0.99F0.0F0.55F);
    
this.hierMesh().chunkSetLocate("Blister1_D0"Aircraft.xyz,
                       
Aircraft.ypr);
    
Aircraft.xyz[1] = Aircraft.cvt(f0.01F0.99F0.0F0.55F);
    
this.hierMesh().chunkSetLocate("Blister2_D0"Aircraft.xyz,
                       
Aircraft.ypr);
    
Aircraft.xyz[1] = Aircraft.cvt(f0.01F0.99F0.0F0.9F);
    
this.hierMesh().chunkSetLocate("Blister3_D0"Aircraft.xyz,
                       
Aircraft.ypr);
    } 
Пробую скомпилировать класс-файлы - получилось.
Не знаю, будет ли это работать, но мне не ясно как поймут меши куда и на сколько им двигаться.
Продолжение следует.

Последний раз редактировалось tvister; 30.03.2019 в 09:12.
tvister вне форума   Ответить с цитированием
Старый 30.03.2019, 01:49   #2
tvister
Местный
 
Аватар для tvister
 
Регистрация: 26.12.2013
Адрес: Донецьк Україна
Сообщений: 1,848
По умолчанию

Удалим вот этот фрагмент с мешами Brake01_D0 и Brake02_D0. Это воздушные тормоза.

PHP код:
    protected void moveAirBrake(float f) {
    
hierMesh().chunkSetAngles("Brake01_D0"0.0F, -90.0F f0.0F);
    
hierMesh().chunkSetAngles("Brake02_D0"0.0F90.0F f0.0F);
    } 
Пробуем скомпилировать классы, классы создаются.
tvister вне форума   Ответить с цитированием
Старый 30.03.2019, 07:49   #3
tarakan67
Местный
 
Регистрация: 15.09.2008
Сообщений: 2,226
По умолчанию

Цитата:
Сообщение от tvister Посмотреть сообщение
Не знаю, будет ли это работать, но мне не ясно как поймут меши куда и на сколько им двигаться.
Продолжение следует.
Все три меша будут двигаться как одно целое.
P.S Прошу прощения, первые два меша будут двигаться одинаково, третий будет двигаться в ту же сторону но конечные координаты его будут отличаться от координат первых двух, я так думаю

Последний раз редактировалось tarakan67; 30.03.2019 в 07:55.
tarakan67 вне форума   Ответить с цитированием
Старый 30.03.2019, 09:00   #4
tvister
Местный
 
Аватар для tvister
 
Регистрация: 26.12.2013
Адрес: Донецьк Україна
Сообщений: 1,848
По умолчанию

Посмотрим на практике. Пока самолет с именами Ки-36 (Д3А1) появляется только в окне просмотра полного редактора. Что вполне логично, классы мы только начали править.
Столкнулся с таинственным словом "пропертис". Что это такое, зачем они? Если я правильно понял, пропертисы находятся в этой части кода.
Для материнских файлов:
Ки-36Х
PHP код:
package com.maddox.il2.objects.air;
import com.maddox.JGP.Point3d;
import com.maddox.il2.ai.Shot;
import com.maddox.il2.ai.World;
import com.maddox.il2.engine.Actor;
import com.maddox.il2.engine.Eff3DActor;
import com.maddox.il2.engine.HierMesh;
import com.maddox.rts.Property
Д3А
PHP код:
package com.maddox.il2.objects.air;
import java.io.IOException;

import com.maddox.JGP.Point3d;
import com.maddox.il2.ai.Shot;
import com.maddox.il2.ai.World;
import com.maddox.il2.engine.Eff3DActor;
import com.maddox.rts.NetMsgGuaranted;
import com.maddox.rts.NetMsgInput;
import com.maddox.rts.Property
Если присмотреться, можно заметить, что они разные.

Последний раз редактировалось tvister; 30.03.2019 в 09:13.
tvister вне форума   Ответить с цитированием
Старый 15.03.2021, 09:27   #5
Asura
Модератор
 
Аватар для Asura
 
Регистрация: 28.02.2007
Адрес: Тула, Россия
Сообщений: 1,903
По умолчанию

Цитата:
Сообщение от ildar Посмотреть сообщение
Вопрос к знатокам:

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

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

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

Цитата:
Сообщение от Vasya Посмотреть сообщение
Прочитай код и измени градусы для восхода/захода.
Так мне кажется.
Здравствуй Василий. Я неправильно сформулировал просьбу. Эффекты выделенные черным должны работать ночью. Хочу добавить еще один эффект который должен работать круглосуточно.
tvister вне форума   Ответить с цитированием
Старый 22.11.2021, 16:05   #7
tvister
Местный
 
Аватар для tvister
 
Регистрация: 26.12.2013
Адрес: Донецьк Україна
Сообщений: 1,848
По умолчанию

Цитата:
Сообщение от Vasya Посмотреть сообщение
Я бы добавил в код сам для примера, но с кодом
Мне как не смыслящему в яве как раз пример помог бы...
tvister вне форума   Ответить с цитированием
Старый 22.11.2021, 19:42   #8
tvister
Местный
 
Аватар для tvister
 
Регистрация: 26.12.2013
Адрес: Донецьк Україна
Сообщений: 1,848
По умолчанию

Василий, то что для тебя яснее ясного, для меня темный лес. В яве я чуть меньше чем никак. Потому и прошу о помощи.
Спасибо всем откликнувшимся. Помогла вот такая простенькая конструкция. Добавил еще один "паровозный" дымок. Как бы стравливаемый пар. При поражении судна парит постоянно, что то вроде предохранительного клапана.
Теперь научить бы ходовые огни гаснуть при появлении врага и одновременно включать еще один, дополнительный эффект.
Код:
/* Old_Gunboat - Decompiled by JODE
 * Visit http://jode.sourceforge.net/
 */
package com.maddox.il2.objects.ships;
import com.maddox.JGP.Point3d;
import com.maddox.il2.ai.World;
import com.maddox.il2.ai.ground.TgtShip;
import com.maddox.il2.engine.Eff3DActor;
import com.maddox.il2.engine.HookNamed;
import com.maddox.il2.engine.LightPointActor;
import com.maddox.il2.engine.LightPointWorld;
import com.maddox.il2.engine.Loc;
import com.maddox.rts.SectFile;

public abstract class Old_Gunboat extends Ship
{
    /*synthetic*/ static Class class$com$maddox$il2$objects$ships$Old_Gunboat$Koreyets;
    
    public static class Koreyets extends BigshipGeneric implements TgtShip
    {
	public LightPointActor light1;
	public LightPointActor light2;
	public LightPointActor light3;
	public LightPointActor light4;
	public LightPointActor[] lightk;
	
	public Koreyets() {
	    lightk = new LightPointActor[5];
	}
	
	public Koreyets(String string, int i, SectFile sectfile,
			  String string_0_, SectFile sectfile_1_,
			  String string_2_) {
	    super(string, i, sectfile, string_0_, sectfile_1_, string_2_);
	    lightk = new LightPointActor[5];
	    Loc loc = new Loc(0.0, 0.0, 0.0, 0.0F, 0.0F, 0.0F);
	    Loc loc_3_ = new Loc();
	    Loc loc_4_ = new Loc();
	    Loc loc_5_ = new Loc();
	    Loc loc_6_ = new Loc();
		Eff3DActor.New(this, findHook("_SmokeWhite"), null, 1.0F,
			       "3DO/Effects/Smokes/SmokeWhite.eff", -1.0F);
	    if (World.Sun().ToSun.z < -0.15F) {
		for (int i_8_ = 0; i_8_ < 6; i_8_++)
		    Eff3DActor.New(this, findHook("_CLight" + i_8_), null,
				   1.0F, "3DO/Effects/Lights/FlareWhitek.eff",
				   -1.0F);
		Eff3DActor.New(this, findHook("_GLight"), null, 1.0F,
			       "3DO/Effects/Lights/FlareGreenkb.eff", -1.0F);
		Eff3DActor.New(this, findHook("_RLight"), null, 1.0F,
			       "3DO/Effects/Lights/FlareRedkb.eff", -1.0F);
                 {
                }   
            }
        }
    }
    
    /*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 BigshipGeneric.SPAWN
	    (class$com$maddox$il2$objects$ships$Old_Gunboat$Koreyets == null
	     ? (class$com$maddox$il2$objects$ships$Old_Gunboat$Koreyets
		= class$("com.maddox.il2.objects.ships.Old_Gunboat$Koreyets"))
	     : class$com$maddox$il2$objects$ships$Old_Gunboat$Koreyets);
    }
}
Миниатюры
Нажмите на изображение для увеличения
Название: 2021.11.22 16-19-14.jpg
Просмотров: 977
Размер:	261.2 Кб
ID:	71148   Нажмите на изображение для увеличения
Название: 2021.11.22 16-19-15.jpg
Просмотров: 940
Размер:	265.5 Кб
ID:	71149   Нажмите на изображение для увеличения
Название: 2021.11.22 16-29-57.jpg
Просмотров: 980
Размер:	191.3 Кб
ID:	71150  
tvister вне форума   Ответить с цитированием
Старый 23.11.2021, 13:44   #9
tvister
Местный
 
Аватар для tvister
 
Регистрация: 26.12.2013
Адрес: Донецьк Україна
Сообщений: 1,848
По умолчанию

Уважаемые коллеги подскажите пожалуйста код для включения/ выключения меша. При появлении врага меш должен включится, как только враг улетит/уничтожен, меш должен выключиться. Возможно ли такое в принципе?
tvister вне форума   Ответить с цитированием
Ответ


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

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

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

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


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


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