最近在搞赛车漂移,所以一直没有更新博客

现在已经实现圈数检测、复位点检测、反向检测等功能

本来准备写成三篇文章的,太忙了,等过段时间不忙了在写吧

今天有朋友问我3D角色怎么给他固定在一个框里面

这个功能前段时间也本来准备写的,太忙了,所以也没有写。。。。

正好朋友问,那就先写一篇吧

先上效果图:

请无视我骚气的昵称吧!哈哈

从上图中可以看见我的翅膀没有超出边界框,而是被边界框覆盖了

相信看过我前几篇文章的朋友应该知道怎么实现的

没错,这里用到了层

那么问题来了,光用一个层能搞定3D角色固定在框里面?

那肯定是不行的呀!听我一一道来

先新建一个层:player

在新建一个camera,参数设置如下:

ok,现在我们拖入角色模型,然后将模型transform参数重置

模型位置:Assets\NGUI\Examples\Models\Orc\Orc.prefab

当然如果你自己有模型的话就用你自己的模型

我们将角色的层设置为Player,这时候你会发现角色突然变大了

选中刚才创建的camera,随便拖动Viewport rece的四个参数中的任意一个

你会发现相机会的大小会随之而改变

我们可以手动慢慢调节到适合模型的大小,但是这样实在是太费劲了,不是吗?

我当然有更好的方法,这个方法放在本文最后说

我们现在开始制作角色显示底框,用NGUI创建2DCamera

然后做一个底框:创建一个UISprite,随便选个方形图就行

如下图:

细心的小伙伴会发现“咦,不是用了层嘛,怎么角色被UI遮挡住了?”

我们检查一下UICamera和playerCamera的Depth

soga,我们刚才先设置了,那我们改下,把UICamera的Depth改为0

哦了,现在角色显示在框框前面了

现在我们在刚才创建的Sprite下创建两个空物体,并且reset

分别取名为topLeft和bottomRight

然后两个都要添加UIAnchor脚本

UI Camera设置的就是UI的相机,直接拖上去就行

Container设置为Sprite

side对应空物体的名称,topLeft和bottomRight

这个地方其实很简单,不懂的看下图:

设置完以后你会发现空物体的坐标改变了!

现在我们进行最后一个步骤,选择playerCamera,添加UIViewport脚本

source camera他自动帮你设置好了,如果没有,你可以设置我UIcamera

将刚才创建的两个空物体拖到对应的参数上

看看我们的场景,是不是已经成功把3D角色固定在框框里了?

更本就不用手动设置Viewport Rece,那样要累死人啊

我们的角色显示貌似有点不对,调节一下Full Size和plaer的坐标

怎么样,这个功能是不是很酷炫呢

没加光照有些黑!

如果你还要继续在面板上加UI的话,你就必须要重新添加一个camera了

所以我的角色展示框是单独写出来的,如果都写成一堆看起来真够累的

好了,继续研究我的漂移去了

本文链接:http://www.cnblogs.com/shenggege/p/4284241.html

unity3d NGUI制作角色展示框的更多相关文章

  1. Unity3D NGUI制作进度条

    利用GUI可以制作进度条,但是NGUI更加方便 我是用的NGUI3.5.3, 先找到NGUI  Slider的预制体,利用自带的UISlider来制作. 主要是利用UISlider的Value来控制进 ...

  2. Unity3D NGUI制作的Button放到场景中,按钮从2D变到3D

    通常我们使用Button都是在UI界面,即NGUI的摄像机下,如果想换到场景中,即不让按钮以UI形式显现,而是和场景中的物体一起随着摄像机移动而缩小,放大. 很简单,把Button从NGUi的摄像机中 ...

  3. Unity3D NGUI自适应屏幕分辨率(2014/4/17更新)

    原地址:http://blog.csdn.net/asd237241291/article/details/8126619 原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 本文链接地址: ...

  4. 利用BMFont和NGUI制作字体集

    Unity中常常需要制作字体,也算是Unity的基本优势吧!其实质就是BMFont和NGUI制作字体.这里把步骤介绍一下: 1.先下载BMFont这个工具 2.Font Settings  设置:(1 ...

  5. Unity3D如何制作透贴和使用透贴模型

    http://momowing.diandian.com/post/2012-10-25/40040842845 Unity3D如何制作透贴和使用透贴模型??解决办法!!! 问题: 同事通过3DMAX ...

  6. 关于NGUI制作图集在低内存设备上的注意事项

    正在写一个游戏.由于2D且比较简单.打算用NGUI全权搞定,对,游戏内容也用NGUI. 想的很好,做的很爽.PC上跑起来happy. 天杀的诺基亚出了个手机叫lumia520,可用内存512M.单个程 ...

  7. Unity3D NGUI学习(一)血条

    这次来讲讲Unity3D NGUI这个插件的学习,这个插件是收费的,不过去网上可以下载得很多可用版本.用来做用户的交互UI,学习起来比较简单 第一步,导入NGUI包 http://pan.baidu. ...

  8. 【转】Unity3D NGUI事件 UIEvents

    原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 QQ群:[119706192] 本文链接地址: Unity3D NGUI事件 UIEvents UIEvents-事件系统void OnH ...

  9. Unity3d ngui基础教程

    Unity3d ngui基础教程 NGUI教程:步骤1-Scene 1.创建一个新的场景(New Scene).2.选择并删除场景里的MainCamera.3.在NGUI菜单下选择Create a N ...

随机推荐

  1. CListCtrl中删除多个不连续的行

    ==================================声明================================== 本文原创,转载在正文中显要的注明作者和出处,并保证文章的完 ...

  2. 简单好用的日志管理工具 Logrotate

    前言 日志就像程序的生命记录仪,详细记录下了程序运行的点点滴滴. 慎重的选择记录哪些日志:在茫茫日志海中寻找真正记录问题的日志,你是不想经历的: 精心的定时压缩转移日志:故障发生了,日志却丢了,此时的 ...

  3. Spring4定时器 cronTrigger和simpleTrigger实现方法

    spring4定时器 cronTrigger和simpleTrigger实现方法 Quartz 是个开源的作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制.Quartz 允许 ...

  4. 基于51单片机+DAC0832的信号发生器

    最近帮别人设计一个毕业设计,做一个多种信号发生器(四种波形:方波.三角波.锯齿波.梯形波),现在贴上来给大家参考,如果有错误的地方,望指出~ 下面先贴上仿真的电路图(仿真的软件是Protuse,上传一 ...

  5. iTOP-4412开发板低功耗高性能的开源硬件平台——上手评测

    iTOP-4412开发板现在比较热门的开发板,笔者近期入了一套.也推荐给初学ARM的朋友学习,4412开发板搭载三星Exynos四核处理器,配备1GB内存,4GB固态硬盘EMMC存储,兼具快速读取与超 ...

  6. Can't initialize metastore for hive

    there maybe many reason to cause this,today our issue is that, if you execute hive –database dbname ...

  7. 离散化+线段树 POJ 3277 City Horizon

    POJ 3277 City Horizon Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 18466 Accepted: 507 ...

  8. Dubbo架构设计详解(转自shiyanjun.cn)

    Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合).从服务模型的角度来看,Dubbo采用的是一种非常简单的模 ...

  9. HDU 1828 / POJ 1177 Picture --线段树求矩形周长并

    题意:给n个矩形,求矩形周长并 解法:跟求矩形面积并差不多,不过线段树节点记录的为: len: 此区间线段长度 cover: 此区间是否被整个覆盖 lmark,rmark: 此区间左右端点是否被覆盖 ...

  10. Java Executor并发框架(三)ThreadPoolExecutor 队列缓存策略

    前面两篇讲解了线程池中线程创建后的运行情况,其中有一系列的策略来保证线程正常运行.但是我们知道线程池是可以设置容量的,而且这容量的设置也是至关重要的,如果容量设置的太小,那么将会影响系统的运行效率,如 ...