[Unity3d]自制圆形小地图
地图 Unity3D 圆形 自制
2023-09-27 14:29:23 时间
右上角就是小地图,上面有个红色小箭头就是代表主角人物所在场景中的位置,箭头的方向就代表人物所面向的方向。
右上角就是小地图,上面有个红色小箭头就是代表主角人物所在场景中的位置,箭头的方向就代表人物所面向的方向。 实现步骤 1.俯视图的制作 首先,我们将Scene场景调成俯视的角度
然后在创建一个Plane,然后点击该对象,在Inspector属性窗口将MeshRenderer取消,
并且在场景中会发现有绿色的网格,
将该脚本拖放到Plane上,参数说明:JueseTexture是指小地图中箭头的图片,Player是人物模型的Controller,Plane是指当前带网格的Plane,Map1是指小地图的图片。 当然还有一种KGFMapSystem的插件,用来制作小地图就更炫更专业了,这里只是一个粗糙的小地图。你也可以尝试用一下更专业的插件来开发。 更专业的插件开发小地图请看:http://blog.csdn.net/dingxiaowei2013/article/details/18669919
UGUI系列-点击图片生成物体(Unity3D) 今天给大家分享一个如何点击图片生成物体的脚本,可以把这个脚本稍微封装一下,以后也可以方便使用。 主要试用与点击图片时候响应事件,具体用法还要大家多多摸索
在Unity3D中实现热力图、风向图、温度图效果(Unity3D) 因一个任务要完成如何在Unity上面实现热力图的效果,所以百度了很久,发现资料很少,现在就把我总结的如何在Unity上面基于Canvas实现热力图效果的实现过程分享出来, 此前转载了一篇主要讲的是如何根据数据值,在Canvas上重新绘制RGBA的值,完成热力图的绘制,不过用的是H5写的,我修改了一下,用C#重写的
在Unity中实现小地图(Minimap) 小地图的基本概念众所周知,小地图(或雷达)是用于显示周围环境信息的。首先,小地图是以主角为中心的。其次,小地图上应该用图标来代替真实的人物模型,因为小地图通常很小,玩家可能无法看清真实的模型。大多数小地图都是圆形的,所以本文也将创建圆形小地图。
https://blog.csdn.net/u013224722/article/details/80738619 https://blog.csdn.net/u013224722/article/details/80738995 除了c# GDI 、Opencv(c++)、 c# Emgu绘图外,其实c# WPF绘图功能也很强大。
【UWP开源】图片编辑器,带贴图、滤镜、涂鸦等功能 原文:【UWP开源】图片编辑器,带贴图、滤镜、涂鸦等功能 最近空余时间研究了一下Win2D,它能为我们在UWP中提供一种类似GDI那样的绘图方法。
蓬莱仙羽 麦子学院讲师,游戏蛮牛专栏作家,CSDN博客专家,热爱游戏开发,热爱Coding!
继续今天的学习心得,unity中小地图的制作,实现了小地图中红色小箭头代表场景中的主角,然后人物方向的转变,小地图中箭头也随之改变方向。
效果图右上角就是小地图,上面有个红色小箭头就是代表主角人物所在场景中的位置,箭头的方向就代表人物所面向的方向。 实现步骤 1.俯视图的制作 首先,我们将Scene场景调成俯视的角度
然后在创建一个Plane,然后点击该对象,在Inspector属性窗口将MeshRenderer取消,
并且在场景中会发现有绿色的网格,
然后记录网格所在的位置,并且取消MeshCollider,用截图工具截取这网格所在的位置,截出一张一模一样大小的图片,这就是我们小地图的来源。截取好了之后记得将MeshCollider勾选上,后面会在代码中需要计算人物所在的位置,也就正是通过这网格文件来计算的。
2.代码的编写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, 10, 10), jueseTexture);
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-90; print("angle:" + angle);
将该脚本拖放到Plane上,参数说明:JueseTexture是指小地图中箭头的图片,Player是人物模型的Controller,Plane是指当前带网格的Plane,Map1是指小地图的图片。 当然还有一种KGFMapSystem的插件,用来制作小地图就更炫更专业了,这里只是一个粗糙的小地图。你也可以尝试用一下更专业的插件来开发。 更专业的插件开发小地图请看:http://blog.csdn.net/dingxiaowei2013/article/details/18669919
==================== 迂者 丁小未 CSDN博客专栏=================
MyBlog:http://blog.csdn.net/dingxiaowei2013 MyQQ:1213250243
Unity QQ群:375151422 cocos2dx QQ群:280818155
====================== 相互学习,共同进步 ===================
转载请注明出处:http://blog.csdn.net/dingxiaowei2013/article/details/18571083
效果:
实现步骤:1.准备一个场景的缩略小地图,用相机照着,相机呈现出来的相投影到RenderTexture上
2.新建遮罩shader
Shader "Custom/Mask" { Properties _MainTex ("Main Texture", 2D) = "white" {} _Mask("Mask Texture",2D)="white"{} SubShader Tags{"Queue"="Transparent"} Lighting On Zwrite off Blend SrcAlpha OneMinusSrcAlpha pass SetTexture[_Mask]{combine texture} SetTexture[_MainTex]{combine texture,previous} }3.新建一个材质球,并附上上面的shader,选择对应的白色圆形遮罩图和相机呈的相RenderTexture
4.将刚刚创建的材质赋给UITexture【NGUI】即可
UGUI系列-点击图片生成物体(Unity3D) 今天给大家分享一个如何点击图片生成物体的脚本,可以把这个脚本稍微封装一下,以后也可以方便使用。 主要试用与点击图片时候响应事件,具体用法还要大家多多摸索
在Unity3D中实现热力图、风向图、温度图效果(Unity3D) 因一个任务要完成如何在Unity上面实现热力图的效果,所以百度了很久,发现资料很少,现在就把我总结的如何在Unity上面基于Canvas实现热力图效果的实现过程分享出来, 此前转载了一篇主要讲的是如何根据数据值,在Canvas上重新绘制RGBA的值,完成热力图的绘制,不过用的是H5写的,我修改了一下,用C#重写的
在Unity中实现小地图(Minimap) 小地图的基本概念众所周知,小地图(或雷达)是用于显示周围环境信息的。首先,小地图是以主角为中心的。其次,小地图上应该用图标来代替真实的人物模型,因为小地图通常很小,玩家可能无法看清真实的模型。大多数小地图都是圆形的,所以本文也将创建圆形小地图。
https://blog.csdn.net/u013224722/article/details/80738619 https://blog.csdn.net/u013224722/article/details/80738995 除了c# GDI 、Opencv(c++)、 c# Emgu绘图外,其实c# WPF绘图功能也很强大。
【UWP开源】图片编辑器,带贴图、滤镜、涂鸦等功能 原文:【UWP开源】图片编辑器,带贴图、滤镜、涂鸦等功能 最近空余时间研究了一下Win2D,它能为我们在UWP中提供一种类似GDI那样的绘图方法。
蓬莱仙羽 麦子学院讲师,游戏蛮牛专栏作家,CSDN博客专家,热爱游戏开发,热爱Coding!
相关文章
- 奥维互动地图APP记录运动轨迹并使用QGIS显示
- MVC项目中使用百度地图
- 上海迪士尼盛大开幕 高德地图带你玩转迪士尼
- 高德地图实时路况信息上线宁波交通诱导屏
- Cesium 天地图 倾斜摄影 模型矩阵
- Google 地图 API V3 针对移动设备进行开发
- 安卓获取百度地图的Api key
- 公安部上线儿童失踪信息紧急发布平台高德地图支持中国版安珀警报
- 高德地图与北京交警深化合作 服务首都群众五一出行
- 高德地图发布五一出行大数据:近郊出游受欢迎杭州西湖最热门
- Android百度地图开发04之POI检索
- 【完全开源】百度地图Web service API C#.NET版,带地图显示控件、导航控件、POI查找控件
- 解决跨域问题,实例调用百度地图
- Cocos2d-x 游戏实例教程《跑跑跑》3:焦点是主角,让地图随着主角滚动
- Cocos2d-x游戏开发实例详解3:无限滚动地图
- 高德地图自动定位到绘制线路位置
- 与百城达合作 高德地图为“互联网+交通”加速
- [Unity3d插件KGFMapSystem]非常不错的小地图的制作
- [Unity3d]使用摄像机制作实时显示小地图