Gamestudio Links
Zorro Links
Newest Posts
Zorro 2.70
by jcl. 09/29/25 09:24
optimize global parameters SOLVED
by dBc. 09/27/25 17:07
ZorroGPT
by TipmyPip. 09/27/25 10:05
assetHistory one candle shift
by jcl. 09/21/25 11:36
Plugins update
by Grant. 09/17/25 16:28
AUM Magazine
Latest Screens
Rocker`s Revenge
Stug 3 Stormartillery
Iljuschin 2
Galactic Strike X
Who's Online Now
2 registered members (TipmyPip, 1 invisible), 18,758 guests, and 8 spiders.
Key: Admin, Global Mod, Mod
Newest Members
krishna, DrissB, James168, Ed_Love, xtns
19168 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 2 of 3 1 2 3
Re: camera problem [Re: Progger] #323840
05/17/10 19:02
05/17/10 19:02
Joined: Dec 2008
Posts: 605
47°19'02.40" N 8°32'54.67"...
hopfel Offline
User
hopfel  Offline
User

Joined: Dec 2008
Posts: 605
47°19'02.40" N 8°32'54.67"...
Und ich würde dir noch empfehlen, diesen Code hier zu benutzen:

über der while-schleife:
Code:
ENTITY* dummy = ent_create(NULL,nullvector,NULL);  //erstelle einen Dummy, welcher
//später als Orientierungspunkt der Kamera dient


und in der while-schleife:
Code:
vec_set(dummy.x,vector(my.x,my.y,my.z+150));  //setze den Dummy auf die Entity
camera.x=dummy.x-(50)*cos(dummy.tilt)*cos(dummy.pan);
camera.y=dummy.y-(50)*cos(dummy.tilt)*sin(dummy.pan);
camera.z=dummy.z-(50)*sin(dummy.tilt);  //rotiere die Kamera um den Dummy 
//(50 ist hier der Abstand)
vec_set(camera.pan,dummy.pan); //rotiere die Kamera


Das deckt nämlich auch noch die Eventualität ab, dass du die Kamera gen oben bzw. unten neigen willst.
Wenn du jetzt die Kamera neigen willst, musst du nur die Winkel von "dummy" ändern.
Z.B. so:
Code:
dummy.pan = my.pan;  //camera dreht sich mit my mit
dummy.tilt += (key_q-key_a)*3*time_step;  //neige die Kamera
//beim Drücken der Tasten 'q' oder 'a'




Hilf mir, dir zu helfen!
Re: camera problem [Re: Progger] #323876
05/17/10 23:05
05/17/10 23:05
Joined: Nov 2008
Posts: 46
D
DrBong Offline OP
Newbie
DrBong  Offline OP
Newbie
D

Joined: Nov 2008
Posts: 46
hab den fehler behoben, irgendwie gabs probleme mit dem pointer "player"
habe :
Code:
camera.x = my.x - 250 * cos(player.pan); // 250 = distance zwischen camera und spieler

camera.y = my.y - 250 * sin(player.pan); //


durch:
Code:
camera.x = my.x - 250 * cos(my.pan); // 250 = distance zwischen camera und spieler

camera.y = my.y - 250 * sin(my.pan); //


ersetzt und jetzt funktioniert alles so wie es soll =)

Re: camera problem [Re: DrBong] #323970
05/18/10 18:56
05/18/10 18:56
Joined: Jun 2008
Posts: 146
Deutschland
M
M4sterm1nd Offline
Member
M4sterm1nd  Offline
Member
M

Joined: Jun 2008
Posts: 146
Deutschland
*mit der Hand an den Kopf fass*

Ja natürlich sorry hab ich schnell meinen code reinkopiert und vergessen den pointer umzuschreiben. XD

Top das du den fehler selbst gefunden hast und schön das ich dir helfen konnte wink

Re: camera problem [Re: M4sterm1nd] #324263
05/20/10 01:46
05/20/10 01:46
Joined: Nov 2008
Posts: 46
D
DrBong Offline OP
Newbie
DrBong  Offline OP
Newbie
D

Joined: Nov 2008
Posts: 46
ihr habt mir schon sehr geholfen aber es gibt immer wieder probleme wo ich net weiter komme smirk

wie krieg ich eine Kollisionserkennung bei der camera hin ?
ich will das egal wie man sie dreht, die nicht unter dem boden oder in einer wand verschwindet. ich hab im lite-c workshop und handbuch rumgeblätert aber nix gefunden, wär schön wen jemand mit einem passenden code helfen könnte

mein code:

Code:
action pl_srg()
{
	
	char1 = my;
	
	ENTITY* dummy = ent_create(NULL,nullvector,NULL);  //erstelle einen Dummy
	
	while (1)
	{
		c_move(char1, vector(0, 0, -100 * time_step), nullvector, 0);
		c_move(char1, nullvector, vector(0, 0, -2 * time_step), GLIDE);
		
		if (key_w)
		{
			c_move(char1, vector(15 * time_step, 0, 0), nullvector, GLIDE);
			char1.pan = dummy.pan;
			
			char1.skill1 = char1.skill1 + 7.5 * time_step;
			
			if (char1.skill1 > 100) 
			{
				char1.skill1 -= 100;
			}
			
			ent_animate(char1, "walk", char1.skill1, ANM_CYCLE);
		}
		
		else
		{
			char1.skill1 = char1.skill1 + 0.7 * time_step;
			
			if (char1.skill1 > 100) 
			{
				char1.skill1 -= 100;
			}
			
			ent_animate(char1, "stand", char1.skill1, ANM_CYCLE);
		}
		
		if (key_s)
		{
			c_move(char1, vector(-10 * time_step, 0, 0), nullvector, GLIDE);
			char1.pan = dummy.pan;
			
			char1.skill1 = char1.skill1 - 5 * time_step;
			
			if (char1.skill1 > 100) 
			{
				char1.skill1 -= 100;
			}
			
			ent_animate(char1, "walk", char1.skill1, ANM_CYCLE);
		}
		
		if (key_a)
		{
			dummy.pan = dummy.pan + 5 * time_step;
		}
		
		if (key_d)
		{
			dummy.pan = dummy.pan - 5 * time_step;
		}
		
		if (key_cuu)
		{
			if (dummy.tilt > -90)
			{
				dummy.tilt = dummy.tilt - 5 * time_step;
			}
		}
		
		if (key_cud)
		{
			if (dummy.tilt < 0)
			{
				dummy.tilt = dummy.tilt + 5 * time_step;
			}
		}
		
		if (key_cul)
		{
			dummy.pan = dummy.pan + 5 * time_step;	
		}
		
		if (key_cur)
		{
			dummy.pan = dummy.pan - 5 * time_step;
		}
		
		if (key_pgup)
		{
			if (cam_pos > 50)
			{
				cam_pos = cam_pos - 5 * time_step;
			}
		}
		
		if (key_pgdn)
		{
			if (cam_pos < 300)
			{
				cam_pos = cam_pos + 5 * time_step;
			}
		}
		
		vec_set(dummy.x, vector(char1.x, char1.y, char1.z + 20));  //setze den Dummy auf die Entity
		
		camera.x = dummy.x - (cam_pos) * cos(dummy.tilt) * cos(dummy.pan);
		camera.y = dummy.y - (cam_pos) * cos(dummy.tilt) * sin(dummy.pan);
		camera.z = dummy.z - (cam_pos) * sin(dummy.tilt);  //rotiere die Kamera um den Dummy 
		
		vec_set(camera.pan, dummy.pan); //rotiere die Kamera
		vec_set(camera.tilt, dummy.tilt);
		
		////////////////////////Maus///////////////////////////////////////////////////
		if (mouse_right)
		{
			dummy.tilt += mouse_force.y * mouse_speed * time_step;
			dummy.tilt = clamp(dummy.tilt, -90, 0);
			
			dummy.pan -= mouse_force.x * mouse_speed * time_step;
		}
		
		mouse_pos.x = mouse_cursor.x;
		mouse_pos.y = mouse_cursor.y;
		
		if (mouse_middle)
		{
			if (cam_pos > 50)
			{
				cam_pos = cam_pos - 5 * time_step;
			}
		}
		///////////////////////////////////////////////////////////////////////////////
		
		
		wait(1);
	}
}



Last edited by DrBong; 05/22/10 05:44.
Re: camera problem [Re: DrBong] #324361
05/20/10 14:41
05/20/10 14:41
Joined: Dec 2008
Posts: 605
47°19'02.40" N 8°32'54.67"...
hopfel Offline
User
hopfel  Offline
User

Joined: Dec 2008
Posts: 605
47°19'02.40" N 8°32'54.67"...
Ich würde dir raten, mit c_trace zu arbeiten. Damit kannst du den Abstand von der Kamera zur my-entity in Berücksichtigung auf davorliegende Objekte berrechnen. Vergiss aber nicht, IGNORE_ME zu verwenden laugh


Hilf mir, dir zu helfen!
Re: camera problem [Re: hopfel] #324508
05/21/10 12:17
05/21/10 12:17
Joined: Nov 2008
Posts: 46
D
DrBong Offline OP
Newbie
DrBong  Offline OP
Newbie
D

Joined: Nov 2008
Posts: 46
kenn mich mit c_trace net aus weis jetzt net wie ich es hinkriegen soll.. aber naja egal.. kann mir wenigstens einer sagen wie ich die maus geschwindigkeit ändern kann ? hab versucht auf mouse_force was drauf zu addieren.. da hat sich die kamera aber nur von alein gedreht und wurde nicht schneller

Re: camera problem [Re: DrBong] #324509
05/21/10 12:39
05/21/10 12:39
Joined: Aug 2007
Posts: 1,922
Schweiz
Widi Offline
Serious User
Widi  Offline
Serious User

Joined: Aug 2007
Posts: 1,922
Schweiz
Nicht aufaddieren, sondern multiplizieren...

Re: camera problem [Re: Widi] #324600
05/21/10 23:31
05/21/10 23:31
Joined: Nov 2008
Posts: 46
D
DrBong Offline OP
Newbie
DrBong  Offline OP
Newbie
D

Joined: Nov 2008
Posts: 46
ohh, danke für den tipp, muss halt noch einiges lernen

Re: camera problem [Re: DrBong] #324602
05/22/10 02:05
05/22/10 02:05
Joined: Nov 2008
Posts: 46
D
DrBong Offline OP
Newbie
DrBong  Offline OP
Newbie
D

Joined: Nov 2008
Posts: 46
kann mir keiner mit der Kollisionserkennung bei der kamera helfen ?
ein all zu großer code kann es ja nicht sein... hab mit c_trace etwas rum experementiert, es aber nicht hingekriegt..

Re: camera problem [Re: Progger] #324799
05/23/10 12:30
05/23/10 12:30
Joined: Nov 2008
Posts: 46
D
DrBong Offline OP
Newbie
DrBong  Offline OP
Newbie
D

Joined: Nov 2008
Posts: 46
leute kommt schon, ihr könnt doch sicher helfen.. wie soll ich was lernen wen ich net weis wie das geht..

Page 2 of 3 1 2 3

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

Gamestudio download | 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