Jak zrobić sterowanie postacią przez PC? 4697 14

O temacie

Autor RafalBudzis

Zaczęty 29.08.2011 roku

Wyświetleń 4697

Odpowiedzi 14

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
Chodzi mi o to jak zrobić żeby komputer sterował naszą postacią a po chwili oddał postać ze władanie graczowi. Wiem ze można takie coś zrobić było to chyba w modzie (kopalnia??) po rozbiciu się naszego statku nasza postać sama dopływała do brzegu wyspy.
Tu chodzi mi o same przejście w jednego do 2 WP.

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel
Cutscenka?
Chyba najłatwiej tak będzie.
 
Ż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


RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
Eee? Sawik, jak nie masz pojęcia o co chodzi to nie pisz. O ile ja pamiętam, wystarczyło zwyczajnie użyć komendy AI_GotoWP.
aha okej poszukam sobie o niej ;)

Cytuj
Cutscenka?
Chyba najłatwiej tak będzie.
Właśnie chcę przełożyć początkowy filmik na grę. Zrobiłem już sędziego i strażników poprawiłem WP i zacząłem się zastanawiać co by zrobić żeby mieć pewność ze gracz skoczy do kolonii.

Ale teraz zastanawia mnie jedna jeszcze rzecz bo jak dostaniemy wpierdol po dopłynięciu to jak zrobić ze jak tylko przyjdzie diego wstajemy. Czyli jak zmienić z nieprzytomnego na wstającego. Bo próbowałem AI_startstate (czy jak to się tam pisze) to postać nagle była na nogach a chciał bym aby przed tym wstała.

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Ale teraz zastanawia mnie jedna jeszcze rzecz bo jak dostaniemy wpierdol po dopłynięciu to jak zrobić ze jak tylko przyjdzie diego wstajemy. Czyli jak zmienić z nieprzytomnego na wstającego. Bo próbowałem AI_startstate (czy jak to się tam pisze) to postać nagle była na nogach a chciał bym aby przed tym wstała.
AI_StandUp(self)?


RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
AI_StandUp(self)?
No właśnie nie wiem już kilku próbowałem i nic ;d  ale dobra kit z tym gracz sobie poczeka aż wstanie postać :D

Chyba zapomniales ze w grze bariera bije nawet przy wchodzeniu.

Skakałem już dużo razy i jeszcze się ani razu nie zabiłem :D  ... No dobra raz się zabiłem ale skoczyłem na pień drzewa więc zabiłem się od skoku z wysokości ;d  Jak skończę dam wam filmik niedowiarki ;p

EDIT :
https://www.youtube.com/watch?v=PjYxVLaEsi8


jak widzicie nie zabiło nam postaci i wszystko ok ale ... jak widzieliście kolejność dialogu się pomieszała :/ oto dialog co zepsułem ? :D

instance  CS_Richter_poczatek (C_INFO)
{
npc =  CS_Eskorte2;
nr = 999;
condition =  CS_Richter_poczatek_Condition;
information =  CS_Richter_poczatek_Info;
important = 1;
permanent = 0;
description = "początek";
};                      

FUNC int  CS_Richter_poczatek_Condition()
{
return 1;
};

FUNC VOID  CS_Richter_poczatek_Info()
{
var C_NPC mag; mag = Hlp_GetNpc(CS_Eskorte1);
var C_NPC sedzia; sedzia = Hlp_GetNpc(CS_Richter);
AI_GotoWP(sedzia, "SEDZIA");
AI_TurnToNpc (hero,sedzia);
///////////////////////////sedzia
AI_Output (sedzia,hero,"CS_Richter_poczatek_11_01"); //W imieniu jego wysokości króla Rohbara drugiego pana Verantu.
AI_Output (sedzia,hero,"CS_Richter_poczatek_11_02"); //Skazuje tego więźnia na ...

///////////////////////////mag
AI_TurnToNpc (mag,sedzia);
AI_Output (sedzia,mag,"CS_Richter_poczatek_11_03"); //STAĆ !!!
AI_TurnToNpc (sedzia,mag);
AI_TurnToNpc (mag,hero);
AI_Output (mag,other,"CS_Richter_poczatek_11_04"); //Skazańcze mam dla ciebie propozycje ten list musi dotrzeć do arcymistrza kręgu magów ognia

///////////////////////////bezi
AI_TurnToNpc (hero,mag);
AI_Output (other,mag,"CS_Richter_poczatek_15_05"); //Marnujesz czas

///////////////////////////mag
AI_Output (mag,other,"CS_Richter_poczatek_11_06"); //Sam bedziesz mógł wybrać sobie nagrode magowie dadzą ci wszystko czego zażądzaż

///////////////////////////bezi
AI_Output (other,mag,"CS_Richter_poczatek_15_07"); //Niech bedzie zaniose wasz cenny list
AI_Output (other,mag,"CS_Richter_poczatek_15_08"); //pod jednym warunkiem oszczedzcie mi reszyt tej paplaniny

///////////////////////////sedzia
AI_TurnToNpc (sedzia,hero);
AI_Output (sedzia,other,"CS_Richter_poczatek_11_09"); //JAK ŚMIESZ !!!

///////////////////////////mag
AI_TurnToNpc (mag,sedzia);
AI_Output (sedzia,mag,"CS_Richter_poczatek_11_10"); //MILCZ !!!
AI_Output (mag,other,"CS_Richter_poczatek_11_11"); //dobra zrzucajcie go

AI_StopProcessInfos ( self );
hero.flags = 2;
AI_GotoWP(hero, "WP_INTRO_FALL");


};

pawbuj

pawbuj

Użytkownicy
posty1622
Propsy135
ProfesjaSkrypter
  • Użytkownicy
Chodzi mi o to jak zrobić żeby komputer sterował naszą postacią a po chwili oddał postać ze władanie graczowi. Wiem ze można takie coś zrobić było to chyba w modzie (kopalnia??) po rozbiciu się naszego statku nasza postać sama dopływała do brzegu wyspy.
Tu chodzi mi o same przejście w jednego do 2 WP.
cos takiego było w GWW demo i przetrwanie, ze jeżeli nie spełniłeś warunku to wracałeś do danego WP.nie wiem czy o to ci chodziło, ale nie powinno byc trudne.
 

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
cos takiego było w GWW demo i przetrwanie, ze jeżeli nie spełniłeś warunku to wracałeś do danego WP.nie wiem czy o to ci chodziło, ale nie powinno byc trudne.
To już zrobiłem funkcją AI_GotoWP tak jak poradził Avallach teraz nie wiem jak zrobić dialogi w dobrej kolejności (czytaj ostatni post po edit)

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel
Jak dobrze pamiętam jeżeli dodasz dubbing (możesz wyciąć z filmu zrzucenia Beziego do koloni :D ) napisy będą wyświetlane tak długo jak długo będzie leciał dźwięk. Oraz (również jak dobrze pamiętam :lol2: ) by dodać dubbing wystarczyłoby dodać plik z głosem o tej samej nazwie co kod dialogu (np. "CS_Richter_poczatek_11_04")
Proszę o poprawienie mnie oraz błagam o wybaczenie jeżeli jestem w błędzie.
 
Ż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

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
Jak dobrze pamiętam jeżeli dodasz dubbing (możesz wyciąć z filmu zrzucenia Beziego do koloni :D ) napisy będą wyświetlane tak długo jak długo będzie leciał dźwięk. Oraz (również jak dobrze pamiętam :lol2: ) by dodać dubbing wystarczyłoby dodać plik z głosem o tej samej nazwie co kod dialogu (np. "CS_Richter_poczatek_11_04")
Proszę o poprawienie mnie oraz błagam o wybaczenie jeżeli jestem w błędzie.
wiem o tym umiem robić dubbing ale po co mi dubbing skoro i tak kolejność będzie zepsuta ?

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel
Mi się wydawało że kolejność jest w porządku ale dubbing leci zanim dana wypowiedź zostanie wypowiedziana.

Swoją drogą nie wiedziałem że można zrobić dialogi w trzy osoby bez LeGo (które jest tylko do Gothic II)
 
Ż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

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja

Adanos
Administrator

Jak zrobić sterowanie postacią przez PC?
#12 2011-08-31, 16:10(Ostatnia zmiana: 2011-08-31, 16:11)
A spróbuj tak:
FUNC VOID  CS_Richter_poczatek_Info()
{
        var C_NPC mag; mag = Hlp_GetNpc(CS_Eskorte1);
        var C_NPC sedzia; sedzia = Hlp_GetNpc(CS_Richter);
        AI_GotoWP(sedzia, "SEDZIA");
        AI_TurnToNpc (hero,sedzia);
        ///////////////////////////sedzia
        AI_Output (sedzia,hero,"CS_Richter_poczatek_11_01"); //W imieniu jego wysokości króla Rhobara II pana Varantu.
        AI_Output (sedzia,hero,"CS_Richter_poczatek_11_02"); //Skazuję tego więźnia na...

        ///////////////////////////mag
        AI_TurnToNpc (mag,sedzia);
        AI_Output (sedzia,hero,"CS_Richter_poczatek_11_03"); //STAĆ!!!
        AI_TurnToNpc (sedzia,mag);
        AI_TurnToNpc (mag,hero);
        AI_Output (mag,other,"CS_Richter_poczatek_11_04"); //Skazańcze mam dla ciebie propozycję. Ten list musi dotrzeć do arcymistrza kręgu magów ognia.

        ///////////////////////////bezi
        AI_TurnToNpc (hero,mag);
        AI_Output (other,mag,"CS_Richter_poczatek_15_05"); //Marnujesz czas.

        ///////////////////////////mag
        AI_Output (mag,other,"CS_Richter_poczatek_11_06"); //Sam będziesz mógł wybrać sobie nagrodę. Magowie dadzą ci wszystko, czego zażądasz.

        ///////////////////////////bezi
        AI_Output (other,mag,"CS_Richter_poczatek_15_07"); //Niech będzie. Zaniosę wasz cenny list.
        AI_Output (other,mag,"CS_Richter_poczatek_15_08"); //Pod jednym warunkiem oszczędźcie mi reszty tej paplaniny.

        ///////////////////////////sedzia
        AI_TurnToNpc (sedzia,hero);
        AI_Output (sedzia,other,"CS_Richter_poczatek_11_09"); //JAK ŚMIESZ!!!

        ///////////////////////////mag
        AI_TurnToNpc (mag,sedzia);
        AI_Output (mag,other,"CS_Richter_poczatek_11_10"); //MILCZ!!!
        AI_Output (mag,other,"CS_Richter_poczatek_11_11"); //Dobra, zrzucajcie go .

        AI_StopProcessInfos     ( self );
        hero.flags = 2;
        AI_GotoWP(hero, "WP_INTRO_FALL");


};

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
A spróbuj tak:
Spoiler
FUNC VOID  CS_Richter_poczatek_Info()
{
        var C_NPC mag; mag = Hlp_GetNpc(CS_Eskorte1);
        var C_NPC sedzia; sedzia = Hlp_GetNpc(CS_Richter);
        AI_GotoWP(sedzia, "SEDZIA");
        AI_TurnToNpc (hero,sedzia);
        ///////////////////////////sedzia
        AI_Output (sedzia,hero,"CS_Richter_poczatek_11_01"); //W imieniu jego wysokości króla Rhobara II pana Varantu.
        AI_Output (sedzia,hero,"CS_Richter_poczatek_11_02"); //Skazuję tego więźnia na...

        ///////////////////////////mag
        AI_TurnToNpc (mag,sedzia);
        AI_Output (sedzia,hero,"CS_Richter_poczatek_11_03"); //STAĆ!!!
        AI_TurnToNpc (sedzia,mag);
        AI_TurnToNpc (mag,hero);
        AI_Output (mag,other,"CS_Richter_poczatek_11_04"); //Skazańcze mam dla ciebie propozycję. Ten list musi dotrzeć do arcymistrza kręgu magów ognia.

        ///////////////////////////bezi
        AI_TurnToNpc (hero,mag);
        AI_Output (other,mag,"CS_Richter_poczatek_15_05"); //Marnujesz czas.

        ///////////////////////////mag
        AI_Output (mag,other,"CS_Richter_poczatek_11_06"); //Sam będziesz mógł wybrać sobie nagrodę. Magowie dadzą ci wszystko, czego zażądasz.

        ///////////////////////////bezi
        AI_Output (other,mag,"CS_Richter_poczatek_15_07"); //Niech będzie. Zaniosę wasz cenny list.
        AI_Output (other,mag,"CS_Richter_poczatek_15_08"); //Pod jednym warunkiem oszczędźcie mi reszty tej paplaniny.

        ///////////////////////////sedzia
        AI_TurnToNpc (sedzia,hero);
        AI_Output (sedzia,other,"CS_Richter_poczatek_11_09"); //JAK ŚMIESZ!!!

        ///////////////////////////mag
        AI_TurnToNpc (mag,sedzia);
        AI_Output (mag,other,"CS_Richter_poczatek_11_10"); //MILCZ!!!
        AI_Output (mag,other,"CS_Richter_poczatek_11_11"); //Dobra, zrzucajcie go .

        AI_StopProcessInfos     ( self );
        hero.flags = 2;
        AI_GotoWP(hero, "WP_INTRO_FALL");


};

zrobiłem dubbing z dźwięku z filmu i ... dialogi wykonują sie jak bym jeden razem z drugim więc trzeba zrobić to osobno :/
albo wywoływać animacje oraz odtwarzać dźwięk snd_play czy coś takiego ale to już sobie poradzę

Ale mam jeszcze jedno pytanko jak zrobić aby podczas tego wszystkiego była inna kamera taka jak sobie ustawie taką bardziej z góry bym chciał



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