unity3d NGUI制作角色展示框
最近在搞赛车漂移,所以一直没有更新博客
现在已经实现圈数检测、复位点检测、反向检测等功能
本来准备写成三篇文章的,太忙了,等过段时间不忙了在写吧
今天有朋友问我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制作角色展示框的更多相关文章
- Unity3D NGUI制作进度条
利用GUI可以制作进度条,但是NGUI更加方便 我是用的NGUI3.5.3, 先找到NGUI Slider的预制体,利用自带的UISlider来制作. 主要是利用UISlider的Value来控制进 ...
- Unity3D NGUI制作的Button放到场景中,按钮从2D变到3D
通常我们使用Button都是在UI界面,即NGUI的摄像机下,如果想换到场景中,即不让按钮以UI形式显现,而是和场景中的物体一起随着摄像机移动而缩小,放大. 很简单,把Button从NGUi的摄像机中 ...
- Unity3D NGUI自适应屏幕分辨率(2014/4/17更新)
原地址:http://blog.csdn.net/asd237241291/article/details/8126619 原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 本文链接地址: ...
- 利用BMFont和NGUI制作字体集
Unity中常常需要制作字体,也算是Unity的基本优势吧!其实质就是BMFont和NGUI制作字体.这里把步骤介绍一下: 1.先下载BMFont这个工具 2.Font Settings 设置:(1 ...
- Unity3D如何制作透贴和使用透贴模型
http://momowing.diandian.com/post/2012-10-25/40040842845 Unity3D如何制作透贴和使用透贴模型??解决办法!!! 问题: 同事通过3DMAX ...
- 关于NGUI制作图集在低内存设备上的注意事项
正在写一个游戏.由于2D且比较简单.打算用NGUI全权搞定,对,游戏内容也用NGUI. 想的很好,做的很爽.PC上跑起来happy. 天杀的诺基亚出了个手机叫lumia520,可用内存512M.单个程 ...
- Unity3D NGUI学习(一)血条
这次来讲讲Unity3D NGUI这个插件的学习,这个插件是收费的,不过去网上可以下载得很多可用版本.用来做用户的交互UI,学习起来比较简单 第一步,导入NGUI包 http://pan.baidu. ...
- 【转】Unity3D NGUI事件 UIEvents
原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 QQ群:[119706192] 本文链接地址: Unity3D NGUI事件 UIEvents UIEvents-事件系统void OnH ...
- Unity3d ngui基础教程
Unity3d ngui基础教程 NGUI教程:步骤1-Scene 1.创建一个新的场景(New Scene).2.选择并删除场景里的MainCamera.3.在NGUI菜单下选择Create a N ...
随机推荐
- redis的简单安装配置
一.简介 Redis是一种高级key-value数据库,数据可以持久化,支持的数据类型很丰富,有字符串,哈希,链表,集合和有序集合5种数据类型 Redis支持在服务器端计算集合的并,交和补集(diff ...
- npm 配置全局文件
nodejs.npm 按照默认安装完成即可. 1.设置一下全局目录:配置npm的全局模块的存放路径以及cache的路径,将以上两个文件夹放在NodeJS的主目录下,便在NodeJs下建立"n ...
- MyCat 学习笔记 第六篇.数据分片 之 按月数据分片
1 应用场景 Mycat 有很多数据分库规则,接下来几篇就相关觉得常用的规则进行试用与总结. 一般来说,按自然月份来进行数据分片的规则比较适用于商城订单查询,类似最近1周.2周.3个月内的数据.或是报 ...
- MySQL的诡异同步问题-重复执行一条relay-log
MySQL的诡异同步问题 近期遇到一个诡异的MySQL同步问题,经过多方分析和定位后发现居然是由于备份引发的,非常的奇葩,特此记录一下整个问题的分析和定位过程. 现象 同事扩容的一台slave死活追不 ...
- javascript 内部对象(1)——Math 对象
Math是javascript中的内部对象之一,主要用于处理数学方面的任务,是一种静态对象.和其他动态对象如Date.String等不同的是它没有构造函数Math(),可以直接使用属性和方法. 例如使 ...
- hyperv 创建第二代虚拟机
环境:宿主机windows 8.1,虚拟机:windows 8.1 硬件:笔记本电脑,无线网络,没有有线网络网络配置先不设置 1.安装hyperv,控制面版-->程序和功能-->启用或关闭 ...
- hdu 1003 Max sum(简单DP)
Max Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Problem ...
- zabbix安装排错过程
在讲安装过程之前需要先把zabbix的工作流程简单的讲一遍:zabbix是个开源监控软件,通过web才能更直观的监控我们想要监控的主机,同时,zabbix从被监控主机获取到的信息需要存放在数据库中,因 ...
- makefile中的伪目标
伪目标就是总是被执行的目标,相对于目标来说,伪目标不会去考虑它的依赖的时间戳与自己时间戳的新旧关系,从而决定是否执行规则.伪目标格式: .PHONY:clean clean: -rm *.o 在mak ...
- Sql 随机更新一条数据返回更新数据的ID编号
DECLARE @parimaryTable(临时表) Table(prizecode varchar(50)); update top (1) 数据表 set 字段a='数值' ,字段b=‘数值 ...