位置: 编程技术 - 正文

Unity3D使用NGUI制作小地图(unity3d模型怎么制作)

编辑:rootadmin

推荐整理分享Unity3D使用NGUI制作小地图(unity3d模型怎么制作),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:unity3d gui,unity3d gui,unity3d gui,unity3d制作,unity3d制作ui,unity中ngui,unity3d制作ui,unity3d怎么用,内容如对您有帮助,希望把文章链接给更多的朋友!

转载自: 右上角就是小地图,上面有个红色小箭头就是代表主角人物所在场景中的位置,箭头的方向就代表人物所面向的方向。实现步骤 1.俯视图的制作首先,我们将Scene场景调成俯视的角度然后在创建一个Plane,然后点击该对象,在Inspector属性窗口将MeshRenderer取消,

并且在场景中会发现有绿色的网&#;,

然后记录网&#;所在的位置,并且取消MeshCollider,用截图工具截取这网&#;所在的位置,截出一张一模一样大小的图片,这就是我们小地图的来源。截取好了之后记得将MeshCollider勾选上,后面会在代码中需要计算人物所在的位置,也就正是通过这网&#;文件来计算的。

2.代码的编写[csharp] view plaincopyprint?using UnityEngine; using System.Collections; public class map : MonoBehaviour { public Texture map1;//小地形图 public Texture jueseTexture;//标识角色的图片 float juesePosX = 0; float juesePosY = 0; public GameObject player;//角色 public GameObject plane;//地形 float planeWidth;//地形的宽 float planeHeight;//地形的高 float angle = 0; //人物旋转的角度 void Start() { //获取地形的宽高 planeWidth = plane.GetComponent<MeshFilter>().mesh.bounds.size.x * plane.transform.localScale.x; planeHeight = plane.GetComponent<MeshFilter>().mesh.bounds.size.z * plane.transform.localScale.z; print("width&#;heith:"&#;planeWidth &#; ", " &#; planeHeight); print("bounds:" &#; plane.GetComponent<MeshFilter>().mesh.bounds); } void OnGUI() { GUI.DrawTexture(new Rect(Screen.width-map1.width, 0, map1.width, map1.height), map1); GUIUtility.RotateAroundPivot(angle, new Vector2((Screen.width - map1.width)&#;juesePosX &#; 5, juesePosY &#; 5)); GUI.DrawTexture(new Rect((Screen.width - map1.width)&#;juesePosX, juesePosY, , ), jueseTexture); } void Update() { print("people:" &#; player.transform.position.x &#; "," &#; player.transform.position.y); print(1); //根据palyer在plane的比例关系,映射到对应地图位置。 juesePosX = map1.width * player.transform.position.x / planeWidth &#; map1.width / 2; juesePosY = map1.height * (-player.transform.position.z) / planeHeight &#; map1.height / 2; print("x:" &#; juesePosX &#; "y:" &#; juesePosY); angle = player.transform.eulerAngles.y-; print("angle:" &#; angle); } } 将该脚本拖放到Plane上,参数说明:JueseTexture是指小地图中箭头的图片,Player是人物模型的Controller,Plane是指当前带网&#;的Plane,Map1是指小地图的图片。当然还有一种KGFMapSystem的插件,用来制作小地图就更炫更专业了,这里只是一个粗糙的小地图。你也可以尝试用一下更专业的插件来开发。更专业的插件开发小地图请看: 迂者 丁小未 CSDN博客专栏=================

Unity3D使用NGUI制作小地图(unity3d模型怎么制作)

MyBlog: MyQQ:

Unity QQ群: cocos2dx QQ群:

====================== 相互学习,共同进步 ===================

转载请注明出处:

[Unity3d插件KGFMapSystem]非常不错的小地图的制作 转载自:

unity3d android工程加入最新的有米广告 用unity3d做了一个小游戏,老板让加上广告。但是我本人不会java,也不会android,最后折腾了好几天,查了好多帖子,要么用的是旧版本的有米SDK,要么是说

《炉石传说》架构设计赏析(2):Scene管理 转自:

本文链接地址:https://www.jiuchutong.com/biancheng/377222.html 转载请保留说明!

上一篇:Unity C#单例模式(在unity中单例的主要作用)

下一篇:[Unity3d插件KGFMapSystem]非常不错的小地图的制作(unity rpg插件)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络