objekt um andres drehen
5 verfasser
Seite 1 von 1
objekt um andres drehen
nun..wie ihr ja vllt wisst arbeite ich grade an der netten galaxy space-pack erweiterung, und da hab ich eigentlich vor, einen kleinen mond um den planeten drehen zu lassen, mein einziges problem dabei ist, das ich nicht ganz weiß, wie das anzustellen ist, da man mit glrotate ja nur um die eigene achse drehen kann
Re: objekt um andres drehen
mitm satz des consinus kreis berechnen und dann mit setposition rumrotieren - glrotate kann man dann ja noch zur verschönerung auch einsetzen
Re: objekt um andres drehen
@eddy rotieren die vertices dann auch mit?
-> du musst einfach eine schlaufe machen, die den winkel immer erhöht bis 360grad
x achse:
sin(winkel,radius);
y achse
cos(winkel,radius);
-> du musst einfach eine schlaufe machen, die den winkel immer erhöht bis 360grad
x achse:
sin(winkel,radius);
y achse
cos(winkel,radius);
kakerlake- Anzahl der Beiträge : 380
Anmeldedatum : 11.01.09
Re: objekt um andres drehen
y achse ist sinus, normalerweise
alra- Admin
- Anzahl der Beiträge : 53
Anmeldedatum : 02.01.09
Re: objekt um andres drehen
also doposition(sin(winkel,radius),cos(winkel,radius),...)
und wenn ja, was kommt dann bei z hin?
und wenn ja, was kommt dann bei z hin?
Re: objekt um andres drehen
je nachdem , wie der mond rotiern soll eine feste nummer oder sin/cos
[edit] vllt eher doch nicht sin oder cos ^^
[edit] vllt eher doch nicht sin oder cos ^^
kakerlake- Anzahl der Beiträge : 380
Anmeldedatum : 11.01.09
Re: objekt um andres drehen
naja, eigentlich soll y immer gleich bleiben
also:
also:
- Code:
doposition(sin(winkel,radius),0,cos(winkel,radius));
Re: objekt um andres drehen
ich würde den Mond in jedem Frame auf Erde-Position setzen, sein R manipulieren und dann ein DoDirPosition mit UmlaufRadius vollziehen.
Carli- Admin
- Anzahl der Beiträge : 1001
Anmeldedatum : 02.01.09
Re: objekt um andres drehen
aah..waum bin ich da nich drauf gekommen, das is denk ich ,al das einfachste, danke
Re: objekt um andres drehen
tja.....
warum einfach wenns auch kompliziert geht.
Und die DoDirPosition macht auch nix andres als das, was dir die andren die ganze Zeit zu erklären versucht haben.
@alra: Sin und Cos sind beim Original-Clonk vertauscht. Also so falsch ist Eddys Behauptung gar nciht.
warum einfach wenns auch kompliziert geht.
Und die DoDirPosition macht auch nix andres als das, was dir die andren die ganze Zeit zu erklären versucht haben.
@alra: Sin und Cos sind beim Original-Clonk vertauscht. Also so falsch ist Eddys Behauptung gar nciht.
Carli- Admin
- Anzahl der Beiträge : 1001
Anmeldedatum : 02.01.09
Re: objekt um andres drehen
carli, aso, wusste ich nicht, allerdings ist das dann verwirrend, weil sinus egtl immer y achse ist
alra- Admin
- Anzahl der Beiträge : 53
Anmeldedatum : 02.01.09
Re: objekt um andres drehen
kommt doch nicht daraf an ob man x oder y als sin oder cos wählt es käme ja auf beide arten ein kreis raus
kakerlake- Anzahl der Beiträge : 380
Anmeldedatum : 11.01.09
Re: objekt um andres drehen
ööhm. also genug Verwirrung, hier der O-Ton Engine
Und hier ncoh die Scriptfunktion gleichen namens:
- Code:
function calcpos(const rel,pos:Tvektor;r:single):Tvektor;
var s,c:single;
begin
c:=cos(degtorad(-r));
s:=sin(degtorad(-r));
result.x:=rel.x*c-rel.z*s+pos.x;
result.y:=rel.y+pos.y;
result.z:=rel.z*c+rel.x*s+pos.z;
end;
Und hier ncoh die Scriptfunktion gleichen namens:
- Code:
procedure dodirposition(o:Tobjekt;x:integer); stdcall;
begin
o.sortaus;
o.pos.x:=o.pos.x-x*sin(o.r/180*pi);
o.pos.z:=o.pos.z-x*cos(o.r/180*pi);
o.sortaus;
end;
Carli- Admin
- Anzahl der Beiträge : 1001
Anmeldedatum : 02.01.09
Re: objekt um andres drehen
aah, immerhin das versteh ich ,
nun, leider hab ich gleich das näxte problem
bei diesem script kommt: "fehler bei der bereichsüberprüfung"
p.s.: sry für die fragen
nun, leider hab ich gleich das näxte problem
bei diesem script kommt: "fehler bei der bereichsüberprüfung"
- Code:
cdecl mond_load
{
loadmodel("model_mond");
loadtexture("asteroid1hell");
}
cdecl mond_render(o) //Grafik von Trike994
{
glscale(300,300,300);
glenable(gl_texture_2d);
glbindtexture(gl_texture_2d,getid("asteroid1hell"));
gluseshader(0);
glcalllist(getid("model_mond_mat"));
}
cdecl mond_init(o)
{
}
cdecl mond_tick(o)
{
local(o).(1)++;
setposition(o,getx(GetPosition(getparent(o))),gety(GetPosition(getparent(o))),getz(GetPosition(getparent(o)));
setr(o,getr + 1);
DoDirPosition(o,25000);
}
p.s.: sry für die fragen
Re: objekt um andres drehen
ok, der fehler war eher logischer natur, klappt jetzt alles(außer das die vertices nich passen, aber das is egal)
Re: objekt um andres drehen
Vertices nicht passen^^
fällt jemandem ein Annäherungsalgorithmus ein, mit dessen Hilfe man ein Mesh in Vertexinformationen umwandeln könnte?
fällt jemandem ein Annäherungsalgorithmus ein, mit dessen Hilfe man ein Mesh in Vertexinformationen umwandeln könnte?
Carli- Admin
- Anzahl der Beiträge : 1001
Anmeldedatum : 02.01.09
Seite 1 von 1
Befugnisse in diesem Forum
Sie können in diesem Forum nicht antworten
|
|