Hola makers, estoy  calentandome el coco y no encuentro una solucion.
Estoy intentando lanzar un objeto, lo mas lejos posible dentro de una room con la física habilitada. Uso lo siguiete:
a = instance_create(0, 512, oObjeto)
        with (a)  {
        physics_apply_impulse(0,512, 3000, -3000)
       }
Con esta sentencia creo un objecto y en el create configuro los parametros fisicos del mismo, pero he visto que si en vez de la sentencia physics_apply_impulse(0,512, 3000, -3000) uso  physics_apply_impulse(0,512, 2000, -2000) el efecto es exactamente el mismo sin embargo si uso physics_apply_impulse(0,512, 1000, -1000) si que el impulso es menor, resumiendo que no por separar el punto de origen del de destino del vector el objeto coge mas impulso, llega un momento que da igual que el impulso sea mayor, ya no tiene efecto. ¿Como puedo solucionar esto? no me vale ni darle mas speed a la room ni menos gravedad ni reducir la densidad del objeto, aunque reduciendo la densidad tambien encuentro un tope de impulso, pero con vectores mas cortos.
Gracias y a ver si alguien me da alguna idea.

#1 Mayo 14, 2015, 07:55:05 PM Ultima modificación: Mayo 14, 2015, 07:57:42 PM por penumbra
Cita de: jose_cv21 en Mayo 14, 2015, 07:39:59 PM
resumiendo que no por separar el punto de origen del de destino del vector el objeto coge mas impulso, llega un momento que da igual que el impulso sea mayor, ya no tiene efecto. ¿Como puedo solucionar esto?

Qué tanto quieres que viaje el objeto (¿qué tan larga es la habitación?). ¿Es un objeto redondo o cuadrado? Se supone que con una densidad baja y un impulso grande, el objeto debería viajar mucho (obviamente, eliminando cualquier fricción, amortiguamiento lineal y angular)

Cita de: jose_cv21 en Mayo 14, 2015, 07:39:59 PM
aunque reduciendo la densidad tambien encuentro un tope de impulso, pero con vectores mas cortos.
También es natural, un objeto no puede alcanzar una velocidad infinita, sino que hay un límite máximo el cual no puede rebasar (llega a su velocidad crítica, según las condiciones del motor de física)

Gracias por responder,
Con esta configuracion:
physics_fixture_set_circle_shape(BFixture, 1)
physics_fixture_set_density(BFixture, 0.1);
physics_fixture_set_restitution(BFixture, 0.2);
physics_fixture_set_angular_damping(BFixture, 0); 
physics_fixture_set_linear_damping(BFixture, 0)

No consigo que el objeto atraviese 1920 pixeles en el eje x y necesito que alcance esa distancia, la única manera en que consigo sobrepasar esa distancia es aumentanto la speed de la room y no puedo ampliarla por otras razones, no hay ninguna forma de acelerar el movimiento de un objeto o algo así, por cierto tu comentas el tema de la friccion, pero la friccion es solo cuando hay roce entre 2 objetos.¿no?