2016-07-15 3 views
0

Я разработал модель в блендере и импортировал в Unity и применил ThirdPersonController, ThirdPersonCharacter, ThirdPersonUserControl и получил анимацию y, следуя рекомендациям, теперь я создал сценарий для съемки пули и прикрепляли его к сфальсифицированной руке/пистолету. Но всякий раз, когда я нажимаю «Fire1», пуля получает стрельбу в другом направлении.Не удалось стрелять в направлении руки

Я хочу, когда я перемещаю мышь, рука должна двигаться в направлении мыши + тело должно вращаться в направлении мыши (если на задней стороне), и когда я оставил клик, он должен выстрелить пулей в направлении мыши (по одному за раз).

Видео для лучшего понимания - http://tinypic.com/r/34yohli/9

Я попробовал сценарий, но его не после, как я хочу.

Shoot.js

#pragma strict var projectile : GameObject; 
var fireRate = 0.5; 
private var nextFire = 0.0; 
var shotDelay = .5; 

function Update() 
{ 
    if (Input.GetButton ("Fire1") && Time.time > nextFire) 
    { 
     nextFire = Time.time + fireRate; 
     var clone = Instantiate (projectile, transform.position, transform.rotation); 

    } 
} 

MouseMovement.cs

using UnityEngine; 
using System.Collections; 

public class MouseMovement : MonoBehaviour 
{ 

    public float speed = 1.5f; 
    private Vector3 target; 

    void Start() 
    { 
     target = transform.position; 
    } 

    void Update() 
    { 
     if (Input.GetMouseButtonDown(0)) 
     { 
      target = Camera.main.ScreenToWorldPoint(Input.mousePosition); 
      target.x = transform.position.x; 
     } 
     transform.position = Vector3.MoveTowards(transform.position, target, speed * Time.deltaTime); 
    } 
} 

ответ

0

Для обнаружения движения мыши вы должны использовать Input.GetAxis ("Mouse X") или Input.GetAxis (» Мышь Y "). Если вы хотите, чтобы камера двигалась вместе с символом, вы можете установить ее как дочерний символ. Вы можете проверить MouseLook Script для получения дополнительной информации.

Смежные вопросы