5分pk10

 找回密码
 注册帐号

扫一扫,访问微社区

GUI Unity3d人物移动问题

7
回复
1822
查看
打印 上一主题 下一主题
[ 复制链接 ]
3偶尔光临
156/300
排名
11230
昨日变化

3

主题

19

帖子

156

积分

Rank: 3Rank: 3Rank: 3

UID
225027
好友
1
蛮牛币
217
威望
0
注册时间
2017-6-3
在线时间
44 小时
最后登录
2019-1-16
5蛮牛币
移动我采用的的鼠标点击地面,是人物移动到点击的那个位置,问题在于当我很快左右的点击地面,人物出现重影,我想请教一下大神这个问题是什么引起的以及解决的方法是什么?
下面是我的代码:
u5分pk10sing System.Colle5分pk10ctions;
using System.Collections.Generic;
using UnityEngine;

public class playerMove : MonoBehaviour
{
    public Transform myTransform;   
    private Ray ray;  
    pr5分pk10ivate RaycastHit mHit;   
    //是否动作切换
    private boo5分pk10l isCanA5分pk10utoMove;  
5分pk10    private Vector3 mTargetPos;  

    public Animator myAnimato5分pk10r;
    private Camer5分pk10a _myCamera = null;
5分pk10    public float movespeed=5f;

    void Start()
    {
        myTransform = gameObject.GetComponent<Transform> ();
        _myCamera = Camera.main;
        myAnimator = GetComponen5分pk10t<Animator> ();

    }
    void Update()  
    {
        // 鼠标点击某个点,人物走向该地点
     &5分pk10nbsp;  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;  
               &n5分pk10bsp;    transform.LookA5分pk10t(new Vector3(mTargetPos.x,mTargetPo5分pk10s.y,mTargetPos.z));  
                    isCanA5分pk10utoMove = true;  
                }        
            }  
     &5分pk10nbsp;  }  
        if (isCanAutoMove)  
        {  
            
            myAnimator.SetBool ("IdelOrRun",true);
            tra5分pk10nsform.Translate(Vector3.forward * movespeed * Time.deltaTime);  
            myTransform.transform.Translate(Vector3.forward * movespeed * Tim5分pk10e.deltaTime);  
            float distance = Vector3.Distance(mTargetPo5分pk10s, transform.position);  
           5分pk10 if (distance <= 0.5f)  
           5分pk10 {     
                isCanAutoMove = false;  5分pk10;
                myAnimator.SetBool ("IdelOrRun",false);
            }  
        }  5分pk10;
    }  
    }


重影2.png (7.14 KB, 下载次数: 25)

重影2.png

重影1.png (12.76 KB, 下载次数: 26)

重影1.png
回复

使用道具 举报

排名
672
昨日变化

19

主题

1181

帖子

3557

积分

Rank: 9Rank: 9Rank: 9

UID
68430
好友
13
蛮牛币
18417
威望
0
注册时间
2015-1-14
在线时间
980 小时
最后登5分pk10录
2019-5-23
沙发
2017-8-22 12:47:30 只看该作者
猜测一下哈,
1 去检查下是否是两个模型
2 模型动作里,是否会出现存在两个模型的情况
3 检查下场景内是否有两个摄像机,出现了摄像机混合事件~这个可能几率不是很大
4 逻辑可以在update内,但是 表现移动,建议FixedUpdate内执行~~
其他的猜测就暂时没想到了~~排查下吧~
回复

使用道具 举报

7日久生情
2276/5005分pk100
排名
1365
昨日变化

19

主题

438

帖子

2276

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
148830
好友
4
蛮牛币
4037
威望
0
注册时间
2016-5-17
在线时间
911 小时
最后登录
2019-5-22
板凳
2017-8-22 15:29:13 只看该作者
从你的图片来看 我更感觉你是有两个人物模型
回复

使用道具 举报

3偶尔光临
156/300
排名
11230
昨日变化

3

主题

19

帖子

156

积分

Rank: 3Rank: 3Rank: 3

UID
225027
好友
1
蛮牛币
217
威望
0
注册时间
2017-6-3
在线时间
44 小时
最后登录
2019-1-16
地板
楼主 2017-8-22 17:10:23 只看该作者
弱智的小毛驴 发表于 2017-8-22 15:29
从你的图片来看 我更感觉你是有两个人物模型

我能说的确实是一个人物模型,就是我鼠标很快的左右点击地面,就会出现这个问题
回复

使用道具 举报

排名
31429
昨日变化

0

主题

23

帖子

63

积分

Rank: 2Rank: 2

UID
168255分pk108
好友
0
蛮牛币
96
威望
0
注册时间
2016-9-12
在线时间
30 小时
最后登录
2017-12-15分pk106
5#
2017-8-22 17:20:37 只5分pk10看该作者
是你移动的速度太快了,相机渲染还没跟上。
回复

使用道具 举报

3偶尔光临
156/300
排名
11230
昨日变化

3

主题

19

帖子

156

积分

Rank: 3Rank: 3Rank: 3

UID
225027
好友
1
蛮牛币
217
威望
0
注册时5分pk10间
2017-6-3
在线时5分pk10间
44 小时
最后登录
2019-1-16
6#
楼主 2017-8-24 10:40:57 只看该作者
绝世love情缘 5分pk10发表于 2017-8-23 10:16
猜测一下哈5分pk10,
1 去检查下5分pk10是否是两个模型
2 模型动作里,是否会出现存在两个模型的情况

好的,谢谢
回复

使用道具 举报

3偶尔光临
156/300
排名
11230
昨日变化

3

主题

19

帖子

156

积分

Rank: 3Rank: 3Rank: 3

UID
225027
好友
1
蛮牛币
217
威望
0
注册时间
2017-6-3
在线时间
44 小时
最后登录
2019-1-16
7#
楼主 2017-8-24 10:42:44 只看该作者
绝世love情缘 发表于 2017-8-23 10:16
猜测一下哈,
1 去检查下是否是两个模型
2 模型动作里,是否会出现存在两个模型的情况

好的,谢谢
回复

使用道具 举报

5熟悉之中
611/1000
排名
19336
昨日变化

0

主题

460

帖子

611

积分

Rank: 5Rank: 5

UID
120657
好友
0
蛮牛币
4
威望
0
注册时间
2015-9-1
在线时间
121 小时
最后登5分pk10录
2019-1-1
8#
2017-9-9 15:47:45 只看该作者
#在这里快速回复# 爱编程的菇凉 2 初来乍到 88/150  排名     12117 昨日变化     666  3 主题          11 帖子          88 积分  Rank: 2Rank: 2  UID     225027 好友     0 蛮牛币     127  威望     0  注册时间     2017-6-3 在线时间     26 小时 最后登录     2017-9-8      发消息           电梯直达 跳转到指定楼层 楼主 发表于 2017-8-22 12:47:29 | 只看该作者 |只看大图 回帖奖励 5 蛮牛币 移动我采用的的鼠标点击地面,是人物移动到点击的那个位置,问题在于当我很快左右的点击地面,人物出现重影,我想请教一下大神这个问题是什么引起的以及解决的方法是什么? 下面是我的代码: 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);             }           }       }       }       重影2.png (7.14 KB, 下载次数: 1)      重影2.png      重影1.png (12.76 KB, 下载次数: 0)      重影1.png  Unity3D, 游戏开发 , 话题                          收藏 评分 淘帖 支持 反对 相关帖子      • 游戏美工特效资源     • onMouseEnter实现了鼠标悬浮触发事件,但在鼠标进行点击之后出错,如何解决     • unity webgl平台发布后6面天空盒子变黑     • 移动手机单双手指触屏(移动旋转缩放)选择物体模型代码     • 带精致动作和特效 Dwarf Pack和Human Pack豪华打包下载     • 关于如何在UI上显示粒子特效【分享总结】     • 摄像机梦幻级效果插件
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则