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://myzitong.com/article/ddicpe.html