`
alpha3171
  • 浏览: 6850 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

收集的两种小地图脚本

    博客分类:
  • U3D
 
阅读更多
不知道时效如何,或者是什么版本,暂未测试
unity3d---小地图
终于把小地图做出来了哈哈,记录一下

public var worldRefObj : Transform;//场景侦测参考物体;

public var worldPObj : Transform;//场景侦测物体;

public var mapBg : Texture2D;//地图背景;

public var mapPe : Texture2D;//指针背景;

private var mapPos : Vector2;

private var angle : float;//指针旋转

private var mapPeSize;//指针大小

function Update()
{
var worldPos = Vector2(worldPObj.transform.position.x - worldRefObj.transform.position.x,worldPObj.transform.position.z - worldRefObj.transform.position.z);

var worldRefObjSize = Vector2(worldRefObj.transform.collider.size.x,worldRefObj.transform.collider.size.z);

var mapBgSize = Vector2(mapBg.width,mapBg.height);

mapPeSize = Vector2(mapPe.width,mapPe.height);

angle = worldPObj.rotation.eulerAngles.y;

mapPos = Vector2(worldPos.x * mapBgSize.x/worldRefObjSize.x-mapPeSize.x/2, worldPos.y * mapBgSize.y/worldRefObjSize.y+mapPeSize.x/2);

//Debug.Log(mapPeSize);
}

function OnGUI()
{
GUI.DrawTexture(Rect(0,0,mapBg.width,mapBg.height),mapBg);

GUIUtility.RotateAroundPivot (angle, Vector2(mapPos.x+mapPeSize.x*0.5,-mapPos.y+mapPeSize.y*0.5));

Debug.Log(mapPeSize);

GUI.DrawTexture(Rect(mapPos.x,-mapPos.y,mapPe.width,mapPe.height),mapPe);
}



009-04-01 11:27:56|  分类: 虚拟现实(vr) |字号 订阅
代码:

@script ExecuteInEditMode()

public var blip : Texture; //定義一個指針文件代表角色
public var radarBG : Texture; //地圖背景圖片,我直接用場景里我創建的render texture

public var centerObject : Transform; //選擇角色的物體的位置信息
public var mapScale = 0.3; //地圖縮放
public var mapCenter = Vector2(50,50); //地圖中心

function OnGUI () {

bX=centerObject.transform.position.x * mapScale;
bY=centerObject.transform.position.z * mapScale;
  
bX=centerObject.transform.position.x * mapScale;
bY=centerObject.transform.position.z * mapScale;
  
GUI.DrawTexture(Rect(mapCenter.x-32,mapCenter.y-32,64,64),radarBG);
// 上面的mapCenter.x-32是地圖的x位置,mapCenter.y-32是y位置,64,64是地圖的大小

DrawBlipsForEnemies();
}
function DrawBlipsForCows(){

var gos : GameObject[];
gos = GameObject.FindGameObjectsWithTag("Cow");

var distance = Mathf.Infinity;
var position = transform.position;

for (var go : GameObject in gos)   {

       drawBlip(go,blip);
}
}
function drawBlip(go,aTexture){

centerPos=centerObject.position;
extPos=go.transform.position;

dist=Vector3.Distance(centerPos,extPos);

dx=centerPos.x-extPos.x;
dz=centerPos.z-extPos.z;

deltay=Mathf.Atan2(dx,dz)*Mathf.Rad2Deg - 270 - centerObject.eulerAngles.y;

bX=dist*Mathf.Cos(deltay * Mathf.Deg2Rad);
bY=dist*Mathf.Sin(deltay * Mathf.Deg2Rad);

bX=bX*mapScale;
bY=bY*mapScale;

if(dist<=200){

   GUI.DrawTexture(Rect(mapCenter.x+bX,mapCenter.y+bY,2,2),aTexture);
}
}
function DrawBlipsForEnemies(){

var gos : GameObject[];
gos = GameObject.FindGameObjectsWithTag("Enemy");

var distance = Mathf.Infinity;
var position = transform.position;

for (var go : GameObject in gos)   {

drawBlip(go,blip);
}
}
後半部份自己慢慢理解下,存為js文件即可使用

出处web3d虚拟神话论坛 http://bbs.vrsh.cn

分享到:
评论

相关推荐

    Art2008 CMS 网站管理系统 v3.1.rar

    25、公告系统,分为站内公告和会员公告两种,4种公告调用方式一定会使您的网站更加绚丽。 2009_4_18(V3.1) 1、新增文章列表中批量删除文章同时删除静态文件功能; 2、新增文章列表中关键字查询功能; 3、新增...

    CMS 网站管理系统 源码

    是一款完全开源的程序,都毫无保留的完全开放源代码,用户不需额外安装其他DLL组件,其最大的特点是易用,js调用方法,简单...25、公告系统,分为站内公告和会员公告两种,4种公告调用方式一定会使您的网站更加绚丽。

    最好的asp CMS系统科讯CMSV7.0全功能SQL商业版,KesionCMS V7.0最新商业全能版-免费下载

    34、两种编辑器选择,可视化编辑器,类似word的所件即所得的在线内容编辑功能,支持表格、图片、FLASH、多种格式播放器插入,支持图片和附件上传。 35、字符过滤,自动过滤敏感字符,避免损害网站形象、避免网站...

    JAVA上百实例源码以及开源项目源代码

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    JAVA上百实例源码以及开源项目

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    java开源包1

    Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...

    java开源包11

    Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...

    java开源包2

    Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...

    java开源包3

    Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...

    java开源包6

    Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...

    java开源包5

    Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...

    java开源包10

    Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...

    java开源包4

    Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...

    java开源包8

    Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...

    java开源包7

    Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...

    java开源包9

    Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...

    java开源包101

    Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...

    Java资源包01

    Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...

Global site tag (gtag.js) - Google Analytics