Jump to content

Naxz

Fosiles
  • Content Count

    13
  • Joined

  • Last visited

Community Reputation

4 Neutral

About Naxz

  • Rank
    Iniciado

Profile Information

  • Especialidad
    Coder

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Naxz

    Editor Test

    Sylar disculpa que no respondi, esque no estaba activo en la comunidad xD, pues el bonton Empezar es el canvas que tienes creado el cual supongo que se llama Empezar, de igual puedes crear otro canvas button y te diriges al area de Inspector si observas tendra el complemento Button, como sale en la API de Unity http://docs.unity3d.com/Manual/script-Button.html, ahora bien si ves mas abajo en el complemento observaras una pestaña que dice OnClick, hay tu selecionas el objeto con el script que llevara dicha accion que quieras realizar al precionar click.. Aqui tienes un tutorial de canvas de Unity: https://unity3d.com/es/learn/tutorials/topics/user-interface-ui/ui-button
  2. Naxz

    Editor Test

    Hola si aun no has logrado hacer lo del click sobre el botón el cual es un botón de canvas según veo, chequea el API de Unity http://docs.unity3d.com/Manual/script-Button.html En el editor busca el objeto "Empezar que el botón en canvas" y en el Inspector busca el componente Button si observas hay una pestaña o un recuadro que se llama "On Click", hay agregas la función o variable que quieres emitir cuando le das click.
  3. Creo que debes de usar una función un calculo básico de la rotación de la cámara, como la dirección en la que apuntas y que esa rotación sea la misma rotación del personaje.
  4. Hola buenas tiempo sin postear nada :) Aquí les traigo una función algo básica, pero que a muchos quizás les cueste hacer, es un método alternativo para hacer ventanas que se puedan arrastrar, como habréis notado en las ultimas versiones de Unity el GUI.Window parece estar bugeado a la hora de arrastrar la ventana, así que aquí esta: /* Variables */ private bool IsWindowMove = false; private Vector2 LastMousePos = Vector2.zero; /* Funcion dentro del callback */ Rect newRect = new Rect(0,0,350,200); //Este es el Rect o Posicion del GUI que quiere mover Event currentEvent = Event.current; //Comprobamos si el mouse o puntero se encuentra encima del GUI que queremos mover if (newRect.Contains (currentEvent.mousePosition) || IsWindowMove) { //Comprobamos si se esta haciendo click con el boton principal del mouse if(currentEvent.isMouse && currentEvent.button == && currentEvent.type == EventType.mouseDrag) { if(LastMousePos != Vector2.zero) { newRect.x = newRect.x + (currentEvent.mousePosition.x - LastMousePos.x); newRect.y = newRect.y + (currentEvent.mousePosition.y - LastMousePos.y); } LastMousePos = currentEvent.mousePosition; IsWindowMove = true; } //Al levantar el mouse las variables se devuelven a su valor por defecto if(currentEvent.isMouse && currentEvent.button == && currentEvent.type == EventType.mouseUp) { LastMousePos = Vector2.zero; IsWindowMove = false; } }
  5. Gracias por responder, bueno después de todo no se puede, era lo que quería aclarar
  6. Muy buenas estoy vuelta He chicos tengo una nueva duda con respecto ha si hay alguna forma de obtener todos los Tags del inspector, así como se obtiene los Layer con LayerMask, e buscado y buscado y se que tiempo atrás se podía usando (UnityEditorInternal.InternalEditorUtility.tags), pero en la actualidad al parecer no, creo que ha cambiado y ya no se puede obtener, conocéis alguna alguna forma o método?... Hasta lo momento lo que he hecho es usar un "enum" el cual almacena los tags, pero de forma manual, osea si realizo un cambio en algún tag o agrego mas tags, tendría que añadirlo manualmente, cosa que me gustaría que fuese automático. Ahora si se puede obtener todos los Layers con LayerMask. ¿Porque no los tags... o acaso si se puede?.. Se los agradeciera.
  7. Muy buenas, gracias a todos los que me trataron de ayudar con mi duda, luego de un tiempo estudiando un poco las rotaciones y demás, conseguí la solución que tanto esperaba, y pues mencione que si, lo lograba pues os diría, por si alguien también cae en la duda y pues espero que le sirva. Como se hablo anteriormente la duda trataba sobre como obtener o heredar la posición y rotación de un objeto el cual no puede ser modificado, y con esto generar una nueva posición y rotación, para un nuevo objeto. Como se aprecia en la figura el objeto sin rotación, es un conjunto de cubos los cuales fueron creados 1x1 y al apuntar cada una de sus caras, se iba obteniendo posición y rotación con respecto a la cara y así seleccionar por que lado colocar el cubo (Ordenado). Ahora con respecto a la figura el objeto con rotación, es un conjunto de cubos creados de la misma forma que el anterior 1x1, pero al apuntar las caras, la posición y rotación que estos me dejaban no eran muy parejas a las del objeto base (Desordenado). Con todo esto pensé que para ello, debía aplicar un mega calculo matemático, o que debería editar el objeto base, aplicando la idea de colocar un objeto padre, dentro objetos hijos y aplicar la rotación, lo cual me modificaría todos los cubos.. Pero en este caso la solución que encontré pues se podría decir que fue realmente muy fácil, y con todo esto es la siguiente. -Si tienes un objeto con rotación y una posición, y quieres generar un nuevo objeto en una nueva posición en el orden como el de la figura sin rotación, pues basta con saber: transform.position + transform.TransformDirection(Dirección o lado del objeto ejp: Vector3.Forward); del objeto base, y así obtener posición y rotación, del nuevo objeto a colocar. Donde tenga el angulo que tenga, esto te generara una nueva coordenada en el orden deseado. Resultado: Sin mas que decir, espero que podáis entender, y que os sirva por si tiene alguna duda, ADIOS
  8. Bueno es sorprendente lo que haces para aclarar una duda, nunca imagine que la gente hiciera es tipo de cosas :D. Con respecto a: La respuesta es si quiero heredar la posición y rotación, porque en mi caso el cubo rojo es un objeto estático, mientras que el azul es objeto que no tiene posición y rotación especifica, entonces uso Physics.Raycast para observar el cubo rojo, que tiene un script con los datos de posición, rotación y dirección, en ese script es donde tengo que colocar algún tipo de calculo, que me de los datos adecuados, de todas formas mirare muy bien tu script, quizás me este saltando algo y con suerte obtenga lo deseado. Gracias a todos de verdad tomare en cuenta lo que dijeron y bueno no les quito mas tiempo, que pasen buenos dias, tarde o noche adios =P
  9. Uli Por que lo que busco es editar solo 1 cubo azul, el rojo ya tiene su posición, rotación y dirección, quiero que el azul tome esos datos y los use para dar posición como en el caso de la imagen 3. Aquí una vista previa de cubo sin rotación y con rotación resultado desastroso.
  10. iRobb si se que se usa Quaternion para hacer cambios de rotación... La cosa es la siguiente, estoy realizando un editor en tiempo real, en el que creo un objeto por decir un cubo si ves un cubo tiene 6 lados de los cuales yo tomo solo 4 que son los lados: Frontal, Trasero, Izquierdo y derecho, en cada uno de esos puntos agregue scripts que tiene datos de Posición, Rotación y Dirección. Entonces si yo apunto una de las 4 caras del cubo digamos la Frontal, hay esta un script de datos, automáticamente el objeto que quiera colocar nuevo toma los datos de esa cara. Si no tiene rotación, el efecto que hace es como el de la imagen 2, lo cual es fácil de hacer. Pero si tiene rotación es como el de la imagen 4 cuando quiero que sea como el de la imagen 3. Si se fijan en la imagen 4 y 3, se observa que hay una rotación y un traslado como dice Oak Human Flesh, hasta los momentos mi resultado es la imagen 4, los cubos no están en un mismo GameObject y no pienso colocarlo dentro, ya que podría seleccionar otra cara del cubo. Oak Human Flesh: con respecto a la vista, la hice en perspectiva desde arriba, el cubo rojo nunca cambia de posición, solo su rotación. Espero que me podáis entender .
  11. Bueno, primero que nada gracias por responder. Los cubos no están en un mismo GameObject, otra cosa de aplicar rotaciones no tengo problema, lo que sucede es que al darle la misma rotación a ambos cubos, quiero que estos se posicionen como el de la tercera figura, esto implica a que debo de aplicar un calculo, tomando como base transform.position del cubo rojo, transform.rotation y la posición o dirección de donde quiero que se realice el movimiento. Creo que para ello es usar así como dices Quaternion y Mathf, en pocas palabras un calculo matemático. transform.position = new Vector3(0,0,0); transform.rotation = new Vector3(0,45,0); posición o dirección = new Vector3(1,0,0); Realizar el movimiento sin rotación es fácil, porque solo cambias una coordenada ya sea X,Y,Z y este se mueve de la forma deseada como la segunda figura. Pero si añades un angulo de rotación la posición cambia considerablemente.. Por lo que busco un calculo que usando cualquier angulo, y teniendo los datos mencionados que den como resultado la posición deseada. Espero que podáis ayudarme, y de verdad lo agradezco.
  12. Buenas, tengo una duda con respecto a lo siguiente: Si hay un objeto (A) a una posición Vector3(0,0,0) y otro objeto (B) que quiero que se desplace a la coordenada X=1 Vector3(1,0,0), pues fácilmente se hace un cambio sin problema como se ve en la figura siguiente: (A) (B) Luego de darle una rotación Vector3(0,45,0) a ambos objetos, al realizar la acción con la rotación los objeto en el Editor de Unity da como resultado: Pero al realizar esta misma operación, por código y rotación por separado me da este resultado: Cosa que quiero que me de el mismo resultado que me da con el editor de Unity. Se que para conseguirlo debo usar algún tipo de calculo matemático que desconozco, se que un objeto sin rotación se mueve fácilmente aplicándole un valor a el (X),(Y) o (Z), pero si tiene una rotación creo que hay que aplicar valores a 2 Vectores y calcular ese valor con la rotación o usar alguna función de Mathf. Espero que me puedan ayudar, se los agradecería mucho gracias .
UnitySpain © Todos los derechos reservados 2020
×
×
  • Create New...