Gamestudio Links
Zorro Links
Newest Posts
Data from CSV not parsed correctly
by dr_panther. 05/06/24 18:50
Help with plotting multiple ZigZag
by degenerate_762. 04/30/24 23:23
M1 Oversampling
by 11honza11. 04/30/24 08:16
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
1 registered members (AndrewAMD), 1,097 guests, and 0 spiders.
Key: Admin, Global Mod, Mod
Newest Members
firatv, wandaluciaia, Mega_Rod, EternallyCurious, howardR
19050 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 2 of 4 1 2 3 4
Re: Winkelberechnungen [Re: ventilator] #362993
03/10/11 16:34
03/10/11 16:34
Joined: Jun 2006
Posts: 2,640
Earth
Germanunkol Offline
Expert
Germanunkol  Offline
Expert

Joined: Jun 2006
Posts: 2,640
Earth
Uuuuuund hier ist die version die wir oben wollten. Macht genau das gleiche wie die in der letzten post, nur eine angle rechnung weniger pro frame, und es macht's nach der art, die wir ursprünglich wollten:
Code:
void turningEnt()
{
	my.scale_x = 2;
	my.scale_y = 2;
	my.scale_z= 2;
	
	vec_randomize(temp, 50);
	if(vec_length(temp) < 30) vec_normalize(temp, 30);
	
	you = ent_create("blob.mdl", temp, NULL);
	vec_set(you.pan, vector(random(360), random(360), random(360)));
	you.scale_x = .6;
	you.scale_y = you.scale_x;
	you.scale_z = you.scale_x;
	
	VECTOR dirRestore;
	vec_diff(dirRestore, you.x, my.x);
	vec_rotateback(dirRestore, my.pan);
	VECTOR angRestore;
	ang_diff(angRestore, you.pan, my.pan);
	angRestore.x -= my.pan;
	angRestore.y -= my.tilt;
	angRestore.z -= my.roll;

	while(key_i == OFF) wait(1);
	
	while(my)
	{
		my.pan += (key_cul-key_cur)*time_step*6;
		my.tilt += (key_cuu-key_cud)*time_step*6;
		
		vec_set(temp, dirRestore);
		vec_rotate(temp, my.pan);
		vec_set(you.x, temp);
		
		vec_set(you.pan, my.pan);
		ang_rotate(you.pan, angRestore);
		wait(1);
	}
}



ang_diff und ang_rotate warn schon richtig, nur musste ventilator's vec_rotateback noch rein - allerdings in angle form. Ich hab das mit:
angRestore.x -= my.pan;
angRestore.y -= my.tilt;
angRestore.z -= my.roll;
gemacht.

Find die version schöner.
^^


~"I never let school interfere with my education"~
-Mark Twain
Re: Winkelberechnungen [Re: Germanunkol] #363000
03/10/11 17:01
03/10/11 17:01
Joined: May 2002
Posts: 7,441
ventilator Offline
Senior Expert
ventilator  Offline
Senior Expert

Joined: May 2002
Posts: 7,441
Code:
#include <acknex.h>



void cube2()
{
	vec_set(my.pan, vector(random(360), random(360), random(360)));
	vec_set(my.scale_x, vector(0.5, 0.5, 2));

	VECTOR position_offset;
	ANGLE angle_offset;	
	vec_set(position_offset, my.x);
	vec_to_ent(position_offset, you);
	ang_diff(angle_offset, my.pan, you.pan);
	
	while(1)
	{
		vec_set(my.x, position_offset);
		vec_rotate(my.x, you.pan);
		vec_add(my.x, you.x);
		
		vec_set(my.pan, you.pan);
		ang_rotate(my.pan, angle_offset);
		
		wait(1);
	}
}

void cube1()
{
	vec_set(my.pan, vector(random(360), random(360), random(360)));
	ent_create(CUBE_MDL, vector(100, 0, 20), cube2);
	while(1)
	{
		vec_add(my.pan, vector(2 * time_step, 0.5 * time_step, time_step));
		wait(1);
	}
}

void main()
{
	randomize();
	level_load("");
	ent_create(CUBE_MDL, vector(100, 0, 0), cube1);
}


hm... bei mir scheint es so zu funktionieren. hab es aber nur ganz kurz getestet.

Re: Winkelberechnungen [Re: Germanunkol] #363002
03/10/11 17:09
03/10/11 17:09
Joined: Mar 2002
Posts: 154
Zschornewitz, Sachsen-Anhalt, ...
I
IngoS. Offline OP
Member
IngoS.  Offline OP
Member
I

Joined: Mar 2002
Posts: 154
Zschornewitz, Sachsen-Anhalt, ...
...also OK, VIELEN DANKE zusammen!!
ich mache da morgen mal weiter, mal schaun...

Re: Winkelberechnungen [Re: ventilator] #363008
03/10/11 17:37
03/10/11 17:37
Joined: Mar 2002
Posts: 154
Zschornewitz, Sachsen-Anhalt, ...
I
IngoS. Offline OP
Member
IngoS.  Offline OP
Member
I

Joined: Mar 2002
Posts: 154
Zschornewitz, Sachsen-Anhalt, ...
...nun aber doch, Ventilator dein Code macht genau den Fehler den ich meine. Schau mal was ich gemacht habe, ich habe den Start verzögert, damit du siehst das sobald die rotation beginnt cube2 nicht mehr auf dem winkel ist den er sollte.

Code:
#include <acknex.h>

var vStart=0;

void cube2()
{
	vec_set(my.pan, vector(random(360), random(360), random(360)));
	vec_set(my.scale_x, vector(0.5, 0.5, 2));

	VECTOR position_offset;
	ANGLE angle_offset;	
	vec_set(position_offset, my.x);
	vec_to_ent(position_offset, you);
	ang_diff(angle_offset, my.pan, you.pan);
	while(!vStart){wait(1);}
	while(1)
	{
		vec_set(my.x, position_offset);
		vec_rotate(my.x, you.pan);
		vec_add(my.x, you.x);
		
		vec_set(my.pan, you.pan);
		ang_rotate(my.pan, angle_offset);
		
		wait(1);
	}
}

void cube1()
{

	vec_set(my.pan, vector(random(360), random(360), random(360)));
	ent_create(CUBE_MDL, vector(100, 0, 20), cube2);
	wait(-3);
	vStart=1;
	while(1)
	{
		vec_add(my.pan, vector(2 * time_step, 0.5 * time_step, time_step));
		wait(1);
	}
}

void main()
{
	randomize();
	level_load("");
	ent_create(CUBE_MDL, vector(100, 0, 0), cube1);
}



Re: Winkelberechnungen [Re: IngoS.] #363017
03/10/11 17:54
03/10/11 17:54
Joined: May 2002
Posts: 7,441
ventilator Offline
Senior Expert
ventilator  Offline
Senior Expert

Joined: May 2002
Posts: 7,441
hm... funktioniert es mit germanunkols version? wieso willst du denn warten? laugh ich müsste mir genauer ansehen was da vor sich geht.

Re: Winkelberechnungen [Re: ventilator] #363034
03/10/11 18:31
03/10/11 18:31
Joined: May 2002
Posts: 7,441
ventilator Offline
Senior Expert
ventilator  Offline
Senior Expert

Joined: May 2002
Posts: 7,441
Code:
void cube2()
{
	vec_set(my.pan, vector(random(360), random(360), random(360)));
	vec_set(my.scale_x, vector(0.5, 0.5, 2));

	VECTOR position_offset;
	ANGLE angle_offset;	
	vec_set(position_offset, my.x);
	vec_to_ent(position_offset, you);
	ang_diff(angle_offset, my.pan, you.pan);
	
	vec_set(my.pan, you.pan);
	ang_rotate(my.pan, angle_offset);
	
	while(!vStart){wait(1);}
	
	while(1)
	{
		vec_set(my.x, position_offset);
		vec_rotate(my.x, you.pan);
		vec_add(my.x, you.x);
		
		vec_set(my.pan, you.pan);
		ang_rotate(my.pan, angle_offset);
		
		wait(1);
	}
}



so funktioniert es, aber ich verstehe nicht wieso. laugh müsste ich genau debuggen.

Re: Winkelberechnungen [Re: ventilator] #363036
03/10/11 18:35
03/10/11 18:35
Joined: Mar 2002
Posts: 154
Zschornewitz, Sachsen-Anhalt, ...
I
IngoS. Offline OP
Member
IngoS.  Offline OP
Member
I

Joined: Mar 2002
Posts: 154
Zschornewitz, Sachsen-Anhalt, ...
...cool, so hauts hin, Klasse DANKE!!!

Re: Winkelberechnungen [Re: ventilator] #363044
03/10/11 18:58
03/10/11 18:58
Joined: Mar 2002
Posts: 154
Zschornewitz, Sachsen-Anhalt, ...
I
IngoS. Offline OP
Member
IngoS.  Offline OP
Member
I

Joined: Mar 2002
Posts: 154
Zschornewitz, Sachsen-Anhalt, ...
...ach nee, so hauts ja doch nicht hin. habe erstmal geschaut was du gemacht hast. du hast die verzögerung ja ausgetrickst.

also das was du in der schleife machst nur halt vor der pause schon und so sieht man den fehler blos nicht. also doch nix so, schade...

Re: Winkelberechnungen [Re: IngoS.] #363045
03/10/11 19:00
03/10/11 19:00
Joined: Jun 2006
Posts: 2,640
Earth
Germanunkol Offline
Expert
Germanunkol  Offline
Expert

Joined: Jun 2006
Posts: 2,640
Earth
Uhm. Ingo, was funktioniert denn an meinem code nicht?
Ich hab keine verzögerung drin... und es is getestet, es funktioniert. BEIDE versionen sogar..?


~"I never let school interfere with my education"~
-Mark Twain
Re: Winkelberechnungen [Re: IngoS.] #363046
03/10/11 19:01
03/10/11 19:01
Joined: May 2002
Posts: 7,441
ventilator Offline
Senior Expert
ventilator  Offline
Senior Expert

Joined: May 2002
Posts: 7,441
ich verstehe dein problem nicht.

meine änderung hat die verzögerung nicht ausgetrickst. die verzögerung funktioniert genau wie vorher.

erklär mal genau was du erreichen willst. wieso brauchst du denn die verzögerung?

Page 2 of 4 1 2 3 4

Moderated by  HeelX, Lukas, rayp, Rei_Ayanami, Superku, Tobias, TWO, VeT 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1