unity3D中使角色朝着鼠标的方向-创新互联

   思路:首先要获得鼠标的世界坐标(鼠标的位置坐标默认的是屏幕坐标),当鼠标点击时,角色朝着鼠标的方向移动;

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:主机域名、网页空间、营销软件、网站建设、江北网站维护、网站推广。

input.mousePosition获得的是鼠标的屏幕坐标;

Vector3 world; public float speed; void Update() {     if(Input.GetMouseButtonDown(0))     {         Vector3 m_pos=Input.mousePosition;         Vector3 player_pos=Camera.main.WorldToScreenPoint(transform.position);         m_pos.z=player_pos.z;         world=Camera.main.ScreenToWorldPoint(m_pos);         speed=8.0f;         transform.LookAt(world);         transform.translate(Vector3.forward*speed*Time.deltaTime);       }      }

注:以上方法只适用于垂直平面,即摄像头垂直于x—z面,一般游戏是不会垂直的,平面不是垂直的,角色就会出现穿透地面的现象,所以需要改一下代码;

把world=Camera.main.ScreenToWorldPoint(m_pos);换成下面的就可以了;

world.x=Camera.main.ScreenToWorldPoint(m_pos).x;

world.z=Camera.main.ScreenToWorldPoint(m_pos).z;

world.y=transform.position.y;

也就是说角色的y轴坐标保持不变就可以了。

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章标题:unity3D中使角色朝着鼠标的方向-创新互联
文章位置:http://pwwzsj.com/article/ddicpe.html