Anuncios Google

Duda colisiones con objetos 3D (LuaDEV)

Buenas, de nuevo tengo otra duda con los objetos 3D, se trata de las colisiones, es decir para que colisione un objeto con un objeto 3D ¿ Se debe adaptar una funcion nueva verdad ? ya que esta no funciona :

function colision(obj1, obj2) 
	if obj1.x+obj1.w>obj2.x 
	and obj1.x<obj2.x+obj2.w 
	and obj1.y+obj1.h>obj2.y 
	and obj1.y<obj2.y+obj2.h then 
		return true 
	end
	return false 
	end

mas aparte w y h no existen para los objetos 3D no ? o me equivoco... creo que se usa la profundidad z

Salu2 !


-> Creaciones <-

Os invito a probar el lol xD

http://signup.leagueoflegends.com/?ref=50814a20894be236637679

 


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de NEKERAFA

Si, pero...

Haber, los objetos 2D tienen una posición (x,y) y ancho y alto. En cambio, los objetos 3D tienen una posición (x,y,z) y alto, ancho y profundidad. Por lo que esta función se tendría que modificar asi:

function colision(obj1, obj2) 
	if obj1.x+obj1.w>obj2.x 
	and obj1.x<obj2.x+obj2.w 
	and obj1.y+obj1.h>obj2.y 
	and obj1.y<obj2.y+obj2.h
	and obj1.z+obj1.p>obj2.z 
	and obj1.z<obj2.z+obj2.p then 
		return true 
	end
	return false 
end

Z es la posición de profundidad del objeto, P es el valor de la profundidad del objeto.


NekeOS, el nuevo shell para PSP

PS4 500GB OFW, PS3 320GB OFW, PS3 500GB OFW, PSP 6.39 PRO-C Fix4.

Sony Xperia Z1 Compact con Android 5.1.1

Portatil Lenovo z50-70 Intel® Core™ i7-4510U y NVIDIA GeForce 840M con Elementary OS 0.3.2 Freya (64 bits) y Windows 10 (64 bits).

Imagen de sisinio

.

Disculpa pero que diferencia hay entre z y P ?, ambos son profundidad xD

PD: En mi caso quiero que colisione una imagen (puntero) con un objeto 3D , ¿ Se seguiria usando la misma funcion no ?


-> Creaciones <-

Os invito a probar el lol xD

http://signup.leagueoflegends.com/?ref=50814a20894be236637679

 

Imagen de NEKERAFA

Mmm...

Haber, z indica la posición del modelo en pantalla, y p indica el tamaño de la profundidad.

Pues para que colisione un 2D con un 3D es un poco más dificil. Esto es porque las coordenadas no son iguales... seria algo así:

function colision(obj1, obj2) 
	if obj1.x+obj1.w>obj2.x+240
	and obj1.x<obj2.x+240+obj2.w
	and obj1.y+obj1.h>obj2.y+136
	and obj1.y<obj2.y+136+obj2.h
		return true 
	end
	return false 
end

aunque tiene un fallo, ya que no cuenta la profundidad, por lo que no la incluye aunque se dibuje en pantalla.


NekeOS, el nuevo shell para PSP

PS4 500GB OFW, PS3 320GB OFW, PS3 500GB OFW, PSP 6.39 PRO-C Fix4.

Sony Xperia Z1 Compact con Android 5.1.1

Portatil Lenovo z50-70 Intel® Core™ i7-4510U y NVIDIA GeForce 840M con Elementary OS 0.3.2 Freya (64 bits) y Windows 10 (64 bits).

Imagen de sisinio

.

¿ Me recomiendas usar mejor colisiones de imagenes 2D con 2D verdad ? era por hacerlo mas bonito... pero si dices que es dificil...


-> Creaciones <-

Os invito a probar el lol xD

http://signup.leagueoflegends.com/?ref=50814a20894be236637679

 

Imagen de NEKERAFA

Mmm...

Haber, es dificil, pero se puede llegar a hacer

Imagen de markef

.

hacerlo no es muy difícil pero sí largo, y hacerlo bien te llevará tiempo.

Un saludo a los dos ;) 

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.