移動我采用的的滑鼠點擊地面,是人物移動到點擊的那個位置,問題在于當我很快左右的點擊地面,人物出現重影,我想請教一下大神這個問題是什么引起的以及解決的方法是什么?


下面是我人物移動的代碼:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class playerMove : MonoBehaviour
{
public Transform myTransform;
private Ray ray;
private RaycastHit mHit;
//是否動作切換
private bool isCanAutoMove;
private Vector3 mTargetPos;
public Animator myAnimator;
private Camera _myCamera = null;
public float movespeed=5f;
void Start()
{
myTransform = gameObject.GetComponent<Transform> ();
_myCamera = Camera.main;
myAnimator = GetComponent<Animator> ();
}
void Update()
{
// 滑鼠點擊某個點,人物走向該地點
if (Input.GetMouseButton(0))
{
//回傳一條射線 Ray從攝像機到螢屏指定的點
Ray ray = _myCamera.ScreenPointToRay (Input.mousePosition);
if (Physics.Raycast(ray, out mHit))
{
if (mHit.collider.gameObject.tag == "plane")
{
mTargetPos = mHit.point;
transform.LookAt(new Vector3(mTargetPos.x,mTargetPos.y,mTargetPos.z));
isCanAutoMove = true;
}
}
}
if (isCanAutoMove)
{
myAnimator.SetBool ("IdelOrRun",true);
transform.Translate(Vector3.forward * movespeed * Time.deltaTime);
myTransform.transform.Translate(Vector3.forward * movespeed * Time.deltaTime);
float distance = Vector3.Distance(mTargetPos, transform.position);
if (distance <= 0.5f)
{
isCanAutoMove = false;
myAnimator.SetBool ("IdelOrRun",false);
}
}
}
}
uj5u.com熱心網友回復:
unity 有自動尋路功能NavMeshuj5u.com熱心網友回復:
額,能說清楚一點嗎,意思是我沒有用NavMesh,但是unity會自動呼叫嗎?uj5u.com熱心網友回復:
出現重影 是攝像機的問題把,你仔細看看攝像機這塊uj5u.com熱心網友回復:
攝像機的Clear Flags不要設定為Dont Clear轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/57948.html
標籤:Unity3D
