1 registered members (3s05bmmc),
740
guests, and 4
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Re: My first 10 Seconds with GS
[Re: Damocles_]
#334377
07/22/10 19:09
07/22/10 19:09
|
Joined: Jul 2010
Posts: 127 Germany, Herford
Ditje
OP
Member
|
OP
Member
Joined: Jul 2010
Posts: 127
Germany, Herford
|
@Damocles ich konnte es nicht abwarten und habe deinen Shader doch noch schnell ausprobiert Mein erster Shader und leider (noch) nicht selbst gemacht, sonst wüsste ich, warum die faces so reagieren. Liegts am Shader oder an meinen faces? Wenn ich die ambient-, diffuse- und specular-Werte ändere sehe ich keine Veränderung. Der Kontrast ist mir so auf jeden Fall zu stark. Ohne Shader gefallen mir die Objekt-eigenen Schatten nicht. Ditje P.S. Noch eine Frage nebenbei. Die Syntax der effect-Zuweisung wird von SED nicht erkannt. Woran liegt`s?
Last edited by Ditje; 07/22/10 19:11.
|
|
|
Re: My first 10 Seconds with GS
[Re: Ditje]
#334383
07/22/10 19:47
07/22/10 19:47
|
Joined: Feb 2009
Posts: 2,154
Damocles_
Expert
|
Expert
Joined: Feb 2009
Posts: 2,154
|
Keine Ahnung, ich hab mal diesen Test gemacht, der Flat shader funktioniert hier ganz gut. Könnte an den Faces liegen. Aber eigentlich sollten parallele Flächen die gleiche beleuchtung haben. Schau mal ob dein Model ein eigenes Licht hat oder Schatten an ist.
|
|
|
Re: My first 10 Seconds with GS
[Re: Damocles_]
#334398
07/22/10 21:18
07/22/10 21:18
|
Joined: Jul 2010
Posts: 127 Germany, Herford
Ditje
OP
Member
|
OP
Member
Joined: Jul 2010
Posts: 127
Germany, Herford
|
Sieht cool aus! Ich habe es mittlerweile nachgelesen. Ich arbeite mit der Free Version. Die unterstützt den Shader nicht. Deshalb wahrscheinlich auch keine Syntax-Erkennung. Im Augenblick fehlt mir noch das Geld, aber Version 8 kommt bald und bis dahin bin ich vieleicht kurz vor fertig und kann den Shader am Schluß einfügen Hmm - die hab noch mal nagesehen. Die Extra ja auch nicht Schade.
|
|
|
Re: My first 10 Seconds with GS
[Re: Ditje]
#334680
07/24/10 16:10
07/24/10 16:10
|
Joined: Jul 2010
Posts: 127 Germany, Herford
Ditje
OP
Member
|
OP
Member
Joined: Jul 2010
Posts: 127
Germany, Herford
|
Hiiiiiilfe ich bin gerade bei den verschiedenen "Einflugs-Routen". Klappt eigentlich schon ganz gut. Allerdings habe ich noch ein Problem mit dem Erreichen der finalen Position (siehe Screenshot). Bei meinem ersten Version in dem 10-Sekunden-Clip, habe ich nämlich etwas geschummelt und die Einflugs-Route einfach beendet. Das wird schon bei der 2. Einflugs-Welle zum Problem. Die Gegner sollen am Ende der Einflugs-Route auf ihre "Plätze" fliegen. Wie kann ich einer ENITITY sagen: "Fliege von my.x, my.y, my.z zu Punkt x,y,z?" Bei einem Test mit vec_set habe ich übrigens die Fehlermeldung "Empty Pointer" bekommen. Danke Ditje
Last edited by Ditje; 07/24/10 16:11.
|
|
|
Re: My first 10 Seconds with GS
[Re: Ditje]
#334698
07/24/10 18:38
07/24/10 18:38
|
Joined: Sep 2003
Posts: 5,900 Bielefeld, Germany
Pappenheimer
Senior Expert
|
Senior Expert
Joined: Sep 2003
Posts: 5,900
Bielefeld, Germany
|
"Wie kann ich einer ENITITY sagen: "Fliege von my.x, my.y, my.z zu Punkt x,y,z?""
vec_clamp(...);
"Bei einem Test mit vec_set habe ich übrigens die Fehlermeldung "Empty Pointer" bekommen. "
Um Dir dabei zu helfen, muss man allerdings relativ von dem Code sehen. "my" ist ja ein Pointer und der darf nicht leer sein. Normalerweise kein Problem, solange man innerhalb einer Funktion, die einer Entity zugehört, nicht die Pointerzuweisung ändert. Im Moment fällt mir aber nichts ein, wie ich es generell erklären könnte.
|
|
|
Re: My first 10 Seconds with GS
[Re: Pappenheimer]
#334700
07/24/10 18:45
07/24/10 18:45
|
Joined: Jul 2002
Posts: 4,436 Germany, Luebeck
Xarthor
Expert
|
Expert
Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
|
@Ditje: Es gibt mehrere möglichkeiten, hier sei eine genannt: Per vec_diff (oder vec_sub) die richtung herausfinden in die die entity sich bewegen muss. Per vec_normalize, vec_scale etc. kannst du den vektor so anpassen das du ihn innerhalb eines c_move aufrufes nutzen kannst. Dabei muss beachtet werden, dass dies nicht die relative distanz sondern die absolute distanz ist.
edit: Sorry, here is the english translation of my post: @Ditje: There are numerous solutions to your problem, let me name one: You can use vec_diff or vec_sub to calculate the direction from the entity to it's destination. Commands like vec_normalize or vec_scale let you adjust the vector so that you can use it in a c_move command call. But you have to notice here that you need to use this vector as absolute-distance not as relative-distance when calling c_move.
Last edited by Xarthor; 07/24/10 18:50.
|
|
|
Re: My first 10 Seconds with GS
[Re: Xarthor]
#334833
07/25/10 15:16
07/25/10 15:16
|
Joined: Jul 2010
Posts: 127 Germany, Herford
Ditje
OP
Member
|
OP
Member
Joined: Jul 2010
Posts: 127
Germany, Herford
|
Juhu Problem gelöst. War gar nicht so schwer. Ich musste nur einmal los lassen und da fiel es mir plötzlich ein. Jetzt habe ich aber schon das nächste Problem bei Array-Zugriffen. Wenn ich jede Position in einer eigenen Variablen speichere, funktioniert es. Mit einem Array nicht. Ich habe schon gemerkt, dass ich falsch auf das Array zugreife - kein Wunder also - Aber die Version mit i+j im Handbuch habe ich nicht geschnallt. Kann mir das jemand erklären? First Problem solved. Second not I don`t understand how to work with arrays. Code below can`t work. But I haven`t understood the tutorial how to get array values. Can someone teach me? Danke/Thank you Ditje
...
var epos[32][3];
epos[1]['_x'] = -50;
epos[1]['_y'] = 800;
epos[1]['_z'] = 300;
epos[2]['_x'] = 50;
...
if(me.y <= 800)
{
var c_wert_x;
var c_wert_y;
var c_wert_z;
// Winkel und Geschwindigkeit zum Zielpunkt berechnen
// my.ENEMID = 1 - 32 = Gegner-ID = 1. Array Indice
c_wert_x = (epos[my.ENEMID]['_x'] - my.x) / 10;
c_wert_y = (epos[my.ENEMID]['_y'] - my.y) / 10;
c_wert_z = (epos[my.ENEMID]['_z'] - my.z) / 10;
if(me.pan <= 360) me.pan += 10*time_step;
if(me.roll <= 0) me.roll += 10*time_step;
c_move(me, vector(0, 0, 0), vector(c_wert_x * time_step, c_wert_y * time_step, c_wert_z * time_step), IGNORE_MODELS);
}
else my.STATE = 7;
...
Last edited by Ditje; 07/25/10 15:22.
|
|
|
Re: My first 10 Seconds with GS
[Re: Ditje]
#334840
07/25/10 15:34
07/25/10 15:34
|
Joined: Jul 2002
Posts: 4,436 Germany, Luebeck
Xarthor
Expert
|
Expert
Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
|
The index of an array begins with 0 (zero). Thus, if you have 32 enemies and their id begins with 1 you should use: epos[my.ENEMID-1][...]
Next thing: What is '_x' etc. supposed to be? If you have an array epos[32][3] You can get a single value with the following indices: epos[i][k] where i is in { 0,1,2,...,31 } and k is in { 0,1,2 }
Or what exactly is your problem?
|
|
|
|