Hola de nuevo.

Recientemente he terminado la primera parte de mi implementación de Ray Casting:

Link

No se puede observar en acción pero bueno… lo suyo sería un video

Calculo desde donde está el raton en la pantalla lo proyecto hasta el plano y el vector resultante final en Y == 0.0 es a donde muevo el objeto seleccionado.

Dejando pulsado el click del ratón izquierdo se puede arrastrar la instancia, si pulsamos a la vez la tecla CONTROL y movemos el ratón orizontalmente rotamos el objeto. El resultado es una edición y colocación de objetos bastante rápida, teniendo en cuenta que disponemos de una lista correctamente ordenada de creaturas, vegetación, objetos etc…


Available Resources Widget:

Poximamente utilizaré este mismo Ray Casting para 3 cosas.
La primera, para colocar los objetos de la misma forma sobre mi implementación de terreno.

La segunda, una vez sepa donde da el rayo en el terreno podré hacer brushes y capas multiples para texturizar el terreno facilmente.

La tercera, saber donde da un disparo localizado para lucha cuerpo a cuerpo, a distancia etc… y así proveer al sistema de scripts de esa información para poder crear scripts más potentes. Ejemplo: en el script de onDamaged podremos hacer algo como…

local hitEnum = objMe.getBodyHit( )

if ( hitEnum == LEFT_HAND ) then

    // si tiene un arma...
    local die = 20
    local diceRoll = getRandomNumber( 0, die )

    if ( diceRoll < (die / 2) ) then

        // inutilizar el brazo y soltar el arma

    end

elseif ( hitEnum == LEFT_LEG ) then

    // hacer más lento a la criatura

end

Hilo en el foro de stratos: link

Saludetes!