




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第利用Unity制作特写镜头的示例代码目录类似这种效果1.首先制作上下两层黑边2.摄像头聚焦的效果
类似这种效果
黑边的大小可以自行调整
这里为了方便直接用两个Button绑定了方法,有需要自行调用方法
1.首先制作上下两层黑边
创建Canvas然后在canvas上新建空物体,命名为CinemaCloseUpShot
在上面新建脚本CinemaCloseUP
publicclassCinemaCloseUP:MonoBehaviour
publicfloattargetSizeInput;//上下黑条的宽度
publicfloatshowTime;//进行缩放所需的时间
privateRectTransformtopBar,bottomBar;//声明上下两个RectTransform,该组件在UI中控制UI大小、位置等参数
privatefloatchangeSizeAmount;//上下黑条变化量
privateboolisActive;//是否进行特写
privatefloattargetSize;//
privatevoidAwake()
//创建上方黑条,类型为图片
GameObjectgameObject=newGameObject("topBar",typeof(Image));
gameObject.transform.SetParent(transform,false);//将之前的空物体设为父物体
gameObject.GetComponentImage().color=Color.black;//颜色设为黑色
topBar=gameObject.GetComponentRectTransform//获取黑条图片的RectTransform
//将上方图片的锚点设为(0,1)和(1,1),其实就是父物体的左上角和右上角两个锚点
topBar.anchorMax=newVector2(1,1);
topBar.anchorMin=newVector2(0,1);
topBar.sizeDelta=newVector2(0,0);//默认图片大小为0
//创建下方黑条,类型为图片
gameObject=newGameObject("bottomBar",typeof(Image));
gameObject.transform.SetParent(transform,false);
gameObject.GetComponentImage().color=Color.black;
bottomBar=gameObject.GetComponentRectTransform
//将下方图片的锚点设为(0,0)和(1,0),其实就是父物体的左下角和右下角两个锚点
bottomBar.anchorMax=newVector2(1,0);
bottomBar.anchorMin=newVector2(0,0);
bottomBar.sizeDelta=newVector2(0,0);//默认图片大小为0
privatevoidUpdate()
if(isActive)
Vector2sizeDelta=topBar.sizeDelta;//声明一个sizeDelta,并赋值为topBar.sizeDelta
sizeDelta.y+=changeSizeAmount*Time.deltaTime;//sizeDelta的y方向持续增加/减小,其实就是图片的宽
//根据下面两个方法,显示为正,隐藏为负
if(changeSizeAmount0)//点击显示的情况
if(sizeDelta.y=targetSize)//如果sizeDelta.y达到最大宽度
sizeDelta.y=targetSize;//设置sizeDelta的宽度
isActive=false;//停止变化
else//点击隐藏的情况
if(sizeDelta.y=targetSize)//如果sizeDelta.y达到最小宽度(0)
sizeDelta.y=targetSize;//设置sizeDelta的最小宽度(0)
isActive=false;//停止变化
//因为上下黑条对称,对上下黑条的宽度进行赋值
topBar.sizeDelta=sizeDelta;
bottomBar.sizeDelta=sizeDelta;
publicvoidShowBar()
targetSize=targetSizeInput;//点击显示,对宽度赋值(在Inspector面板中设定)
changeSizeAmount=(targetSize-topBar.sizeDelta.y)/showTime;//黑条的改变速率,这里为正数
isActive=true;//开始变化
publicvoidHide()
targetSize=0f;//点击隐藏黑条宽度为0
changeSizeAmount=(targetSize-topBar.sizeDelta.y)/showTime;//黑条的改变速率,这里为负数
isActive=true;//开始变化
然后设置合适的参数
分别为黑边的高度和黑边变化的时间
2.摄像头聚焦的效果
给摄像机搭载脚本CameraPos
publicclassCameraPos:MonoBehaviour
publicboolCamMove;//是否聚焦角色
publicfloatdistance;//距离角色的距离,可以用控制角色显示的大小
publicfloatfocusSpeed=5f;//聚焦的速度
privateVector3defaultPos;//摄像头默认位置
privateVector3targetPos;//聚焦目标的位置
privateboolisActive;//开始移动
privatevoidStart()
defaultPos=transform.position;
privatevoidUpdate()
if(isActiveCamMove)
transform.position=Vector3.Lerp(transform.position,targetPos,focusSpeed*Time.deltaTime);
publicvoidFocusOn(GameObjecttarget)//设置聚焦的目标
//注意这里的Z坐标不要大于0
targetPos=target.transform.position+newVector3(0,0,defaultPos.z+distance);
isActive=true;
publicvoidRese
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 口腔内科学练习题库及答案
- 健康评估复习题及答案
- 市场开发居间合同协议
- 小区果蔬直销摊位租赁合同
- 现代农业信息技术服务合作协议条款说明
- 2022年贵州银行博士后科研工作站招聘模拟试题及答案
- 车间主任管理试题及答案
- 2025年甘肃公交建集团校园招聘200人笔试参考题库附带答案详解
- 2025四川资源集团招聘134人查看职位笔试参考题库附带答案详解
- 打造高质量就业体系实施路径
- 【课件】探索三角形全等的条件(SSS)课件+北师大版七年级数学下册+
- 《危险化学品企业安全生产标准化规范》专业深度解读与应用培训指导材料之2:5管理要求-5.1 安全领导力(雷泽佳编制-2025A0)
- 《医疗素养提升》课件
- 2025年人教版(2024)小学数学一年级下册期中考试测试卷附参考答案
- 2024-2025统编版道德与法治六年级下册期末考试卷附答案 (共3套)
- 2025年安徽省淮北市五校联考中考二模历史试题(含答案)
- 北师大版2025年四年级语文下册期中考试
- 智能座舱试题答案及解析
- 2024年度云南省二级造价工程师之安装工程建设工程计量与计价实务强化训练试卷B卷附答案
- 统编版二年级语文下册第五单元自测卷(含答案)
- 车位租赁协议书范本
评论
0/150
提交评论