Brak jednej opcji dialogowej. 4406 13

O temacie

Autor Graveir

Zaczęty 2.06.2011 roku

Wyświetleń 4406

Odpowiedzi 13

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc

Graveir

Brak jednej opcji dialogowej.
2011-06-02, 14:11(Ostatnia zmiana: 2011-06-02, 14:12)
Siemka.Mam taki drobny problem,że z nudów postanowiłem się pobawić i stworzyć sobie postać towarzysza(coś jak Bartok[chyba]podczas polowania).No i mimo,że żadne błędy się nie pojawiają,to mi jedna opcja dialogowa za cholerę nie chce się pokazać.Podaję skrypt postaci+dialogu:
// *Script was make in Easy Dialog Maker (EDM)

//========================================
//-----------------> OPCJA *KONIEC*
//========================================

INSTANCE DIA_Wrzod_EXIT(C_INFO)
{
npc             = NONE_50000_Wrzod;
nr              = 999;
condition = DIA_Wrzod_EXIT_Condition;
information = DIA_Wrzod_EXIT_Info;
permanent = TRUE;
description     = "KONIEC";
};

FUNC INT DIA_Wrzod_EXIT_Condition()
{
return TRUE;
};

FUNC VOID DIA_Wrzod_EXIT_Info()
{
AI_StopProcessInfos (self);
};

//========================================
//-----------------> HELLO1
//========================================

INSTANCE DIA_Wrzod_HELLO1 (C_INFO)
{
   npc          = NONE_50000_Wrzod;
   nr           = 1;
   condition    = DIA_Wrzod_HELLO1_Condition;
   information  = DIA_Wrzod_HELLO1_Info;
   permanent = FALSE;
   description = "Niemożliwe.Wrzód,to ty?!";
};

FUNC INT DIA_Wrzod_HELLO1_Condition()
{
    return TRUE;
};

FUNC VOID DIA_Wrzod_HELLO1_Info()
{
    AI_Output (other, self ,"DIA_Wrzod_HELLO1_15_01"); //Niemożliwe.Wrzód,to ty?!
    AI_Output (self, other ,"DIA_Wrzod_HELLO1_03_02"); //Witaj przyjacielu.Dawno się nie widzieliśmy.
    AI_Output (other, self ,"DIA_Wrzod_HELLO1_15_03"); //Jakim cudem żyjesz i do jasnej cholery SKĄD się tu wziąłeś?
    AI_Output (self, other ,"DIA_Wrzod_HELLO1_03_04"); //Kiedy upadła bariera,zdołałem na czas ucieć razem z innymi więźniami.
    AI_Output (self, other ,"DIA_Wrzod_HELLO1_03_05"); //Kręciłem się bez celu,aż w końcu dotarłem do tej wieży.
    AI_Output (other, self ,"DIA_Wrzod_HELLO1_15_06"); //A Xardas nic nie mówił na twój temat?
    AI_Output (self, other ,"DIA_Wrzod_HELLO1_03_07"); //Nie.Opowiedziałem mu parę rzeczy i mi pozwolił zostać.
    AI_Output (other, self ,"DIA_Wrzod_HELLO1_15_08"); //Dalej boisz się wszystkiego,co się rusza?
    AI_Output (self, other ,"DIA_Wrzod_HELLO1_03_09"); //Nie.
    AI_Output (self, other ,"DIA_Wrzod_HELLO1_03_10"); //Jak będziesz potrzebował pomocy lub towarzysza broni,to daj znać.
    AI_Output (other, self ,"DIA_Wrzod_HELLO1_15_11"); //Zapamiętam.Do zobaczyska Wrzód.
};

//========================================
//-----------------> HELLO2
//========================================

INSTANCE DIA_Wrzod_HELLO2 (C_INFO)
{
   npc          = NONE_50000_Wrzod;
   nr           = 2;
   condition    = DIA_Wrzod_HELLO2_Condition;
   information  = DIA_Wrzod_HELLO2_Info;
   permanent = TRUE;
   description = "Zostań moim towarzyszem broni.";
};

FUNC INT DIA_Wrzod_HELLO2_Condition()
{
    if (Npc_KnowsInfo (other, DIA_Wrzod_HELLO1))
    {
    return TRUE;
    };
};


FUNC VOID DIA_Wrzod_HELLO2_Info()
{
    AI_Output (other, self ,"DIA_Wrzod_HELLO2_15_01"); //Zostań moim towarzyszem broni.
    AI_Output (self, other ,"DIA_Wrzod_HELLO2_03_02"); //Jasna sprawa.
    self.aivar[AIV_PARTYMEMBER] = TRUE;
    Npc_ExchangeRoutine (self, "FOLLOW");
    AI_StopProcessInfos (self);
};

//========================================
//-----------------> HELLO3
//========================================

INSTANCE DIA_Wrzod_HELLO3 (C_INFO)
{
   npc          = NONE_50000_Wrzod;
   nr           = 3;
   condition    = DIA_Wrzod_HELLO3_Condition;
   information  = DIA_Wrzod_HELLO3_Info;
   permanent = TRUE;
   description = "Tutaj się rozstaniemy.";
};

FUNC INT DIA_Wrzod_HELLO3_Condition()
{
    if (Npc_KnowsInfo (other, DIA_Wrzod_HELLO2))
    {
    return TRUE;
    };
};


FUNC VOID DIA_Wrzod_HELLO3_Info()
{
    AI_Output (other, self ,"DIA_Wrzod_HELLO3_15_01"); //Tutaj się rozstaniemy.
    AI_Output (self, other ,"DIA_Wrzod_HELLO3_03_02"); //Jak sobie chcesz.
    self.aivar[AIV_PARTYMEMBER] = FALSE;
    Npc_ExchangeRoutine (self, "START");
    AI_StopProcessInfos (self);
};
Postać:
// -----------------------------------
// This script file was created with NSC Script Generator 2.2 by Mirage Game Development
// Mirage Game Development - copyright 2005
// File: NONE_50000_Wrzod
// -----------------------------------

instance NONE_50000_Wrzod (Npc_Default)
{
// ------ NSC ------
name = "Wrzód";
guild = GIL_NONE;
id = 50000;
voice = 4;
npctype = NPCTYPE_MAIN;

// ------ AIVARs ------
aivar[AIV_IGNORE_Sheepkiller] = TRUE;
aivar[AIV_IgnoresArmor] = TRUE;

// ------ Attributes ------
slf.level = 10;
slf.attribute[ATR_STRENGTH] = 65;
slf.aivar[REAL_STRENGTH] = 65;
slf.attribute[ATR_DEXTERITY] = 65;
slf.aivar[REAL_DEXTERITY] = 65;
slf.attribute[ATR_MANA_MAX] = 0;
slf.aivar[REAL_MANA_MAX] = 0;
slf.attribute[ATR_MANA] = 0;
slf.attribute[ATR_HITPOINTS_MAX] = 50;
slf.attribute[ATR_HITPOINTS] = 50;

// ------ NSC relevant talents ------
B_GiveNpcTalents (self);

// ------ Fight tactic ------
fight_tactic = FAI_HUMAN_NORMAL;

// ------ Equipted weapons ------
EquipItem (self, ItMw_ShortSword1);
EquipItem (self, ItRw_Bow_L_01);

// ------ Inventory ------
B_CreateAmbientInv (self);
CreateInvItems (self, ItFo_Beer, 5);

// ------ Visuals ------
B_SetNpcVisual (self, MALE, "Hum_Head_Pony", Face_N_Mud, BodyTex_N, spodnie_kopacza);
Mdl_SetModelFatness (self, 0);
Mdl_ApplyOverlayMds (self, "Humans_Arrogance.mds");

// ------ Fight skills ------
B_SetFightSkills (self, 20);

// ------ Announce DR ------
daily_routine = Rtn_START_50000;
};

FUNC VOID Rtn_START_50000()
{
TA_Read_Bookstand(08,00,16,00,"NW_XARDAS_START");
TA_Practice_Sword(16,00,00,00,"NW_XARDAS_START");
TA_Smoke_Joint(00,00,08,00,"NW_XARDAS_START");
};

FUNC VOID Rtn_FOLLOW_50000()
{
TA_Follow_Player(00,00,12,00,"NW_XARDAS_START");
TA_Follow_Player(12,00,00,00,"NW_XARDAS_START");
};
A mianowicie nie pojawia mi się opcja
Cytuj
Tutaj się rozstaniemy
.
Gdzie popełniłem błąd?Skrypt był 2 razy zmieniany,a zapisywanie dialogów robiłem tak(w spacerze):
Cytuj
Reparse script(gothic.src)->Ikona dokumentu->Refresh->usuwanie plików ou z folderu Cutscene->update->save
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

Godefroy93

Godefroy93

Rzeka
posty289
Propsy196
NagrodyV
Profesjabrak
  • Rzeka
To jest wycinek dialogu Bartoka
To na niebiesko spróbuj dać do swojego dialogu (Oczywiście zmieniając Waypoint) , ponieważ (o ile się nie mylę) poradnikach Czipa właśnie ten skrypt z &&, był potrzebny do aktywacji dialogu.

FUNC INT DIA_Bartok_ImWald_Condition()
{
   if (Bartok_Los == TRUE)
   && (Npc_GetDistToWP (self, NW_FARM1_CITYWALL_FOREST_03) < 500)
   {
      return TRUE;
   };
};
 
"Pierre is enjoying his new bicycle!"



Spoiler
1.Co to są ryry?

Ryrami płynie woda

2.Obrybiacie bonk?

Tak! Obrybiamy bonk.

To nie zgydne z prywem!

3.Pierre lubi swój nowy rower!

Bardzo mnie to cieszy, a co to za Pierre?

To taki chłopak z wioski.

4.Ładna kurtka!

My alpiniści nazywamy to wiatrochronem.

Niech jej Pan pod żadnym pozorem nie zdejmuje!

Allo!,allo!

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc

Graveir

Brak jednej opcji dialogowej.
#2 2011-06-02, 15:04(Ostatnia zmiana: 2011-06-02, 15:04)
Ten wycinek z Bartoka to(o ile się nie mylę)jest użyta zmienna i dystans do waypointu,do którego można dobiec,żeby od nas nie odszedł NPC.A mi chodzi raczej o zwykły warunek,ewentualnie wprowadzenie jakieś dobrej prostej zmiennej.Btw-a mogło wyjść,że źle zapisałem/utworzyłem pliki ou?
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
Odświeżam
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
spróbuj zamiast other hero dać

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
Utworzyłem od nowa dialog i dalej opcja odesłania nie chce się pokazać :pokerface:
Spoiler
// *Script was make in Easy Dialog Maker (EDM)

//========================================
//-----------------> OPCJA *KONIEC*
//========================================

INSTANCE DIA_Wrzod_EXIT(C_INFO)
{
npc             = NONE_50000_Wrzod;
nr              = 999;
condition = DIA_Wrzod_EXIT_Condition;
information = DIA_Wrzod_EXIT_Info;
permanent = TRUE;
description     = "KONIEC";
};

FUNC INT DIA_Wrzod_EXIT_Condition()
{
return TRUE;
};

FUNC VOID DIA_Wrzod_EXIT_Info()
{
AI_StopProcessInfos (self);
};

//========================================
//-----------------> HELLO1
//========================================

INSTANCE DIA_Wrzod_HELLO1 (C_INFO)
{
   npc          = NONE_50000_Wrzod;
   nr           = 1;
   condition    = DIA_Wrzod_HELLO1_Condition;
   information  = DIA_Wrzod_HELLO1_Info;
   permanent = FALSE;
   description = "Nie wierzę.Wrzód,to ty?!";
};

FUNC INT DIA_Wrzod_HELLO1_Condition()
{
    return TRUE;
};

FUNC VOID DIA_Wrzod_HELLO1_Info()
{
    AI_Output (other, self ,"DIA_Wrzod_HELLO1_15_01"); //Nie wierzę.Wrzód,to ty?!
    AI_Output (self, other ,"DIA_Wrzod_HELLO1_03_02"); //Oczywiście,że ja.Dawno się nie widzieliśmy przyjacielu.
    AI_Output (other, self ,"DIA_Wrzod_HELLO1_15_03"); //Skąd ty się tu wziąłeś?!Nie zostałeś zabity po upadku bariery?
    AI_Output (self, other ,"DIA_Wrzod_HELLO1_03_04"); //No widzisz,mnie nawet śmierć omija z daleka.
    AI_Output (other, self ,"DIA_Wrzod_HELLO1_15_05"); //Dalej jesteś takim durniem jak kiedyś?
    AI_Output (self, other ,"DIA_Wrzod_HELLO1_03_06"); //Nie.Umarł Upierdliwy Wrzód,narodził się Wrzód.
    AI_Output (other, self ,"DIA_Wrzod_HELLO1_15_07"); //Eee nie rozumiem...
    AI_Output (self, other ,"DIA_Wrzod_HELLO1_03_08"); //Chodzi o to,że jestem silniejszy i bardziej inteligenty niż wtedy.
    AI_Output (self, other ,"DIA_Wrzod_HELLO1_03_09"); //Jeśli będziesz potrzebował towarzysza to powiedz.
    AI_Output (other, self ,"DIA_Wrzod_HELLO1_15_10"); //Dobra...zapamiętam.
};

//========================================
//-----------------> HELLO2
//========================================

INSTANCE DIA_Wrzod_HELLO2 (C_INFO)
{
   npc          = NONE_50000_Wrzod;
   nr           = 2;
   condition    = DIA_Wrzod_HELLO2_Condition;
   information  = DIA_Wrzod_HELLO2_Info;
   permanent = TRUE;
   description = "Potrzebuję towarzysza.";
};

FUNC INT DIA_Wrzod_HELLO2_Condition()
{
    if (Npc_KnowsInfo (other, DIA_Wrzod_HELLO1))
    {
    return TRUE;
    };
};


FUNC VOID DIA_Wrzod_HELLO2_Info()
{
    AI_Output (other, self ,"DIA_Wrzod_HELLO2_15_01"); //Potrzebuję towarzysza.
    AI_Output (self, other ,"DIA_Wrzod_HELLO2_03_02"); //Nie ma sprawy.Będę kawałek za tobą.
    self.aivar[AIV_PARTYMEMBER] = TRUE;
    Npc_ExchangeRoutine (self, "FOLLOW");
    AI_StopProcessInfos (self);
};

//========================================
//-----------------> HELLO3
//========================================

INSTANCE DIA_Wrzod_HELLO3 (C_INFO)
{
   npc          = NONE_50000_Wrzod;
   nr           = 3;
   condition    = DIA_Wrzod_HELLO3_Condition;
   information  = DIA_Wrzod_HELLO3_Info;
   permanent = TRUE;
   description = "Nie jesteś mi już potrzebny.";
};

FUNC INT DIA_Wrzod_HELLO3_Condition()
{
    if (Npc_KnowsInfo (other, DIA_Wrzod_HELLO2))
    {
    return TRUE;
    };
};


FUNC VOID DIA_Wrzod_HELLO3_Info()
{
    AI_Output (other, self ,"DIA_Wrzod_HELLO3_15_01"); //Nie jesteś mi już potrzebny.
    AI_Output (self, other ,"DIA_Wrzod_HELLO3_03_02"); //Dobra.Wracam do Xardasa.
    Npc_ExchangeRoutine (self, "START");
    AI_StopProcessInfos (self);
};
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
@Odświeżam temat
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel
Nie jestem pewny ale czy w wypowiedzi hello2 nie powinno być jeszcze Info_AddChoice?
 
Życzę wam seksu analnego po stronie biernej.
Dropbox +500 mb na start
LowPoly
Wykonanie modelu niskopoligonowego to sztuka kompromisu. Nie jest to jedynie uproszczenie modelu wysokopoligonowego, ale głęboka modyfikacja oraz podejmowanie decyzji często zmieniających wygląd pierwotny obiektu, tak by przy najmniejszej ilości trójkątów uzyskać jak najwierniej odwzorowany kształt oryginału. Nie można też zapomnieć o tym iż musi nadal wyglądać przekonywająco i tak balansować by uzyskać efekt optymalny.

Podstawowym założeniem jest, że model nie powinien mieć zbędnych, niewidocznych dla gracza detali włączonych w geometrie. Większość obiektów jakie znajdują się w grze powinna prezentować się najlepiej z odległości około 3-5 metrów. Wszelkie detale, które zanikają, wydają się płaskie lub zlewają się z bryłą modelu należy uznać za zbędne i pozostawić je na normal mapie.

Fakt, iż gracz będzie w stanie podejść bliżej do obiektu i zobaczyć go z mniejszej niż 3m odległości nie powinno stanowić większego problemu, gdyż większą rolę odgrywają wtedy tekstury oraz dodatkowy detal zależny od materiału obiektu. To właśnie kompromis między wydajnością, a szczegółowością otoczenia.

Detal, którego nie widać z 3-5 metrów nie powinnien istnieć w geometrii modelu.
Krawędzie znajdujące się blisko siebie, które zlewają się z większej odległości należy uprościć do wspólnej płaszczyzny

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
Nie jestem pewny ale czy w wypowiedzi hello2 nie powinno być jeszcze Info_AddChoice?
Dodawania wyboru raczej nie.Tego się chyba używa wtedy,gdy jest jakiś wybór typu jedna nagroda z X nagród.
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
Ma ktoś jakiś pomysł,jak naprawić ten błąd?
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel
Nie jestem pewien czy mozna wiedziec opcje ktora jest ustawiona na permanent, oraz szukalem takiej opcji (wracaj lub cos w tym stylu) w dialogu biffa (najemnik w 4 rozdiale) i takiej opcji  nie znalazlem nie wiem czy nie powinna byc ona gdzies indziej, lub czy nie jest czescia funkcji.
 
Życzę wam seksu analnego po stronie biernej.
Dropbox +500 mb na start
LowPoly
Wykonanie modelu niskopoligonowego to sztuka kompromisu. Nie jest to jedynie uproszczenie modelu wysokopoligonowego, ale głęboka modyfikacja oraz podejmowanie decyzji często zmieniających wygląd pierwotny obiektu, tak by przy najmniejszej ilości trójkątów uzyskać jak najwierniej odwzorowany kształt oryginału. Nie można też zapomnieć o tym iż musi nadal wyglądać przekonywająco i tak balansować by uzyskać efekt optymalny.

Podstawowym założeniem jest, że model nie powinien mieć zbędnych, niewidocznych dla gracza detali włączonych w geometrie. Większość obiektów jakie znajdują się w grze powinna prezentować się najlepiej z odległości około 3-5 metrów. Wszelkie detale, które zanikają, wydają się płaskie lub zlewają się z bryłą modelu należy uznać za zbędne i pozostawić je na normal mapie.

Fakt, iż gracz będzie w stanie podejść bliżej do obiektu i zobaczyć go z mniejszej niż 3m odległości nie powinno stanowić większego problemu, gdyż większą rolę odgrywają wtedy tekstury oraz dodatkowy detal zależny od materiału obiektu. To właśnie kompromis między wydajnością, a szczegółowością otoczenia.

Detal, którego nie widać z 3-5 metrów nie powinnien istnieć w geometrii modelu.
Krawędzie znajdujące się blisko siebie, które zlewają się z większej odległości należy uprościć do wspólnej płaszczyzny

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
Zrobiłem nową postać i 3 teksty dialogowe(3-częściowy dialog,każdy natychmiast zakańczany).I tutaj normalnie mi działa.Czyli co mogę zrobić,by mi się pojawiła opcja odesłania Wrzoda?
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
Jakieś sugestie,aby było odesłanie?
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel
Pisałem ci wcześniej że nie można znać/wiedzieć (kurde jak to ująć) informacji jeżeli jest ustawiona na permanent, spróbuj dać ją na permanent = false;. Z twojego dialogu wnioskuję że Wrzód będzie nam pomagał w całym Khorinis ile razy chcemy w Gothic nie mogliśmy zabrać ze sobą ludzi więcej niż sześć razy (rekordzista Biff w 4 rozdziale) który miał ustawiony licznik partynomore gdy osiągnął 6 Biff nie chciał już z nami współpracować. Za każdym razem opcja zabrania go z powrotem  miała oddzielną opcję dialogową z warunkiem rozstania z poprzedniego razu w twoim wypadku niech Wrzód działa na tej zasadzie ale ustaw mu np 999 limitu w partynomore.
Mam nadzieję że to ci coś pomoże.
 
Życzę wam seksu analnego po stronie biernej.
Dropbox +500 mb na start
LowPoly
Wykonanie modelu niskopoligonowego to sztuka kompromisu. Nie jest to jedynie uproszczenie modelu wysokopoligonowego, ale głęboka modyfikacja oraz podejmowanie decyzji często zmieniających wygląd pierwotny obiektu, tak by przy najmniejszej ilości trójkątów uzyskać jak najwierniej odwzorowany kształt oryginału. Nie można też zapomnieć o tym iż musi nadal wyglądać przekonywająco i tak balansować by uzyskać efekt optymalny.

Podstawowym założeniem jest, że model nie powinien mieć zbędnych, niewidocznych dla gracza detali włączonych w geometrie. Większość obiektów jakie znajdują się w grze powinna prezentować się najlepiej z odległości około 3-5 metrów. Wszelkie detale, które zanikają, wydają się płaskie lub zlewają się z bryłą modelu należy uznać za zbędne i pozostawić je na normal mapie.

Fakt, iż gracz będzie w stanie podejść bliżej do obiektu i zobaczyć go z mniejszej niż 3m odległości nie powinno stanowić większego problemu, gdyż większą rolę odgrywają wtedy tekstury oraz dodatkowy detal zależny od materiału obiektu. To właśnie kompromis między wydajnością, a szczegółowością otoczenia.

Detal, którego nie widać z 3-5 metrów nie powinnien istnieć w geometrii modelu.
Krawędzie znajdujące się blisko siebie, które zlewają się z większej odległości należy uprościć do wspólnej płaszczyzny


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry