Jump to content
UnitySpain

Search the Community

Showing results for tags 'position'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Inicio
    • Proyectos
    • Offtopic
    • Unity Feeds
    • Website
  • Mesa de ayuda
    • Unity
    • Arte
    • Otras Especialidades
    • Builds & Dispositivos
  • Aportes de la Comunidad
    • Recursos
    • Eventos
    • Buenas Prácticas
  • Bolsa de trabajo & Colaboraciones
    • Ofertas y Demandas
  • Post Antiguos
    • General (Antiguo)

Blogs

  • byGui
  • El Blog de Pioj

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Especialidad

Found 9 results

  1. Hola soy principiante y me preguntaba como podría hacer para que al detectar el click izquierdo del ratón la instancia se cree y se dirija a las coordenadas del cursor se detecto el click, también como podría hacer para que la rotación concuerde con la dirección de la instancia. De momento había pensado en este código: Firepoint representaría la posición del Cursor, aunque también pensaba que un objeto siguiera al cursos y este fuera Firepoint
  2. Hola, espero que esten teniendo un buen dia. Primero que nada a que me refiero con ortodoxo? Simplemente a que no sigue una doctrina es decir no sigue algo fijo, algo que quiero que sea de una manera pero es de otra. Necesito que XYZ siempre miren hacia la misma direccion aunque rote el padre o el objeto y apartir de ahi poder modificar XYZ... Conosco que un V3 "localposition" de un transform se refiere a la posicion local lo cual no se modifica, pero de todas formas los ejes no me hacen caso.. y eso es un problema para mi... Vamos con ejemplos practicos, no creo que todabia me hayan entendido: Script para dar ejemplo: Una Tapa se cierra y se abre en el sentido Z SI TIENEN 5 MINUTOS PRUEBEN LO PORFA asi me ayudan sino es difícil entender mi problema <3 // PARA USARLO CREEN UN OBJETO CON MALLA TIPO CUBO // EN LA ESCALA PONGANLE 0 EN Z // INSERTEN EL SCRIPT EN EL OBJETO // LISTO PUEDEN USAR EL SCRIPT // CON E ABREN CON R CIERRAN public class CloseTop : MonoBehaviour { private MeshRenderer _mesh; public float maxScale = 1f; public float speed = 2f; private Vector3 _posFix; private float _scaleStart; private float _scaleEnd; public bool _close = false; public bool _open = false; void Start() { _mesh = GetComponent<MeshRenderer>(); _posFix = transform.localPosition; _scaleStart = transform.localScale.z; _scaleEnd = _scaleStart; } void Update() { transform.localScale = new Vector3(1, -0.06f,Mathf.MoveTowards(transform.localScale.z, _scaleEnd, Time.deltaTime * speed)); transform.localPosition = _posFix + transform.forward * (transform.localScale.z / 2.0f + _scaleStart / 2.0f); if (_open) { _close = false; _mesh.enabled = true; if (transform.localScale.z == maxScale) { _open = false; } } if (_close) { _open = false; if (transform.localScale.z == _scaleStart) { _mesh.enabled = false; _close = false; } } if (Input.GetKeyDown(KeyCode.E)) { _open = true; _close = false; _scaleEnd = maxScale; } else if (Input.GetKeyDown(KeyCode.R)) { _close = true; _open = false; _scaleEnd = _scaleStart; } } } Bueno hasta ahi todo correcto el objeto abre y cierra en Z.. Ahora al objeto ponganlo adentro de un padre... Roten el PADRE 90 grados Ejecuten el start Y ESE es mi problema.... Como pudieron observar si miran el transform del gameobject "Top"(tapa) cuando esta rotado el padre. La rotacion se modifica correctamente... en Z, pero la posicion se modifica en Y... Neceisto que se modifique en Z tambien. Alguna solucion?
  3. hola amigos he estado buscando por un largo rato sobro las posiciones de los UI pero no he podido encontrar bien la posicion de los UI, en el script que he hecho solo toma el transform por así decir y creo que los UI por lo que entiendo trabaja con RectTransform "pos x pos y pos z o left y top" en lo que trata de las posiciones del canvas creo que es así, si no corríjanme si me equivoco bueno el punto es que en el script la posición la toma de la escena y yo quiero que tome la posición dentro del canvas sin que pierda la posición por la resolución oh bueno solo la primera que tome la posición dentro canvas la UI que quiero que tenga una posición en el script es un Text bueno agradecería mucho que me ayudaran public RectTransform rect1; public string nombreGO; public float x=40f; public float y=0f; void Start () { } void Update () { rect1=GameObject.Find(nombreGO).GetComponent<RectTransform>(); rect1.anchoredPosition = new Vector2(x, y); } }
  4. Alguien sabe cuales son las contraposiciones a Forward , Up y Left? Es que tengo este script y no he podido hacer que inicie sin seguir la direccion local('¿). Liberarlo de su direccion standard, que pueda iniciar mirando hacia donde yo gire el dron. Apenas doy Play, se gira hacia la derecha ,no importa que lo haya girado a la direccion que deseo que siga. using UnityEngine; using System.Collections; public class DronX : MonoBehaviour { public float normalMoveSpeed = 10; private float rotationX = 0.0f; private float rotationY = 0.0f; void Update () { rotationX += Input.GetAxis("Mouse X") * normalMoveSpeed * Time.deltaTime; rotationY += Input.GetAxis("Mouse Y") * normalMoveSpeed * Time.deltaTime; rotationY = Mathf.Clamp (rotationY , -90, 90); transform.localRotation = Quaternion.AngleAxis(rotationX, Vector3.up); transform.localRotation *= Quaternion.AngleAxis(rotationY, Vector3.left); { transform.position += transform.forward * normalMoveSpeed * Input.GetAxis("Vertical") * Time.deltaTime; } } }
  5. El caso es, estoy en medio de un proyecto shooter en 3ra persona, y quiero que para disparar tenga que darle a click derecho para poder apuntar y entonces poder disparar. Necesito saber como poder alterar la posición de la cámara (mediante Empty's o lo que sea) para que cuando cambie a estado Aim se transporte hasta donde yo quiera (adoptando tambien la rotación del GameObject) y, cuando no este en estado Aim siga en su posicion original y funcione con el mouseOrbit que tengo. ¿Alguna sugerencia?
  6. Buenas gente,queria postear un poco de mi codigo a ver si alguien me puede ayudar,tengo problemas con los arrays,el tema es el siguiente,estoy tratando de hacer un juego tipo pong pero con muchas pelotas,meti las pelotas en un array y ahora quiero controlar la ia del enemigo en referencia al array de pelotas,aca estan mis codigos. el primero es el spawneador de pelotas donde esta el array: var ball:GameObject; static var ballArray:GameObject[]; var timeToSpawn:int=10; function Start(){ ballArray= GameObject.FindGameObjectsWithTag("Ball"); } function Update(){ timeToSpawn-=Time.deltaTime; ballArray= new GameObject[10]; for(var i:int;i<ballArray.Length;i++){ if(timeToSpawn==0){ var clone=Instantiate(ball,Vector3.zero,Quaternion.identity); timeToSpawn=500; } ballArray[i]=clone; } } function Awake () { }y aca esta el controlador de la ia enemiga: #pragma strict var speed:float =10; var ball:GameObject; //var ballCon=spawnBallController; function Update () { if(spawnBallController.ballArray.transform.position.y>transform.position.y){ transform.position = new Vector3(transform.position.x,transform.position.y+0.2,0); transform.position.y = Mathf.Clamp(transform.position.y,-3.4,3.92); } if(spawnBallController.ballArray.transform.position.y<transform.position.y){ transform.position = new Vector3(transform.position.x,transform.position.y-0.2,0); transform.position.y = Mathf.Clamp(transform.position.y,-3.4,3.92); } }el error que me tira en unity es el siguiente: en la linea: if(spawnBallController.ballArray.transform.position.y>transform.position.y){ "transform" is not a member of unityengine.gameObject[]; si no me explique bien avisen y por favor si alguien me puede dar una mano se lo voy a agadecer
  7. tengo un objeto que quiero transformar su posicion a la posicion de un target, pero obviando Y, solo quiero mover X,Z. var target : Transform; function Update(){ transform.position = Vector3(target.x,0,target.z); }de esta forma no consigo que vaya a la posicion del target, solo lo he podido hacer así, pero me gustaría poder excluir la Y. transform.position = target.transform.position;he probado tambien con transform.x = target.transform.position; pero nada. ¿como sería de forma correcta lo que quiero hacer?
  8. 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 .
  9. Quiero hacer una puerta delizable para una nave sci-fi y quiero q la puerta se translade pero en un tiempo determinado marque el parrafo en rojo cuando ago click E se mueve pero de golpe llega a la ubicacion y no como hacer private var guiShow : boolean = false; var isOpen : boolean = false; var objVel:int = 10; var door : GameObject; var rayLength = 10; function Update() { var hit : RaycastHit; var fwd = transform.TransformDirection(Vector3.forward); if(Physics.Raycast(transform.position, fwd, hit, rayLength)) { if(hit.collider.gameObject.tag == "Door") { guiShow = true; if(Input.GetKeyDown("e") && isOpen == false) { door.transform.Translate(Vector3(0,20,0) * objVel * Time.deltaTime); isOpen = true; guiShow = false; } else if(Input.GetKeyDown("e") && isOpen == true) { door.animation.Play("Door2"); isOpen = false; guiShow = false; } } } else { guiShow = false; } } function OnGUI() { if(guiShow == true && isOpen == false) { GUI.Box(Rect(Screen.width / 2, Screen.height / 2, 100, 25), "E"); } if(guiShow == true && isOpen == true) { GUI.Box(Rect(Screen.width / 2, Screen.height / 2, 100, 25), "E"); } }
×
×
  • Create New...