《Unity开发实战》——2.2节创建画中画效果

简介:

本节书摘来自华章社区《Unity开发实战》一书中的第2章,第2.2节创建画中画效果,作者 (爱尔兰)Matt Smith (巴西)Chico Queiroz,更多章节内容可以访问云栖社区“华章社区”公众号查看

2.2 创建画中画效果
在很多情况下,用多个视角显示是很有用的。比如,想显示不同地点同时发生的事件,或者多人对战(hot-seat multiplayer)游戏中为每个玩家显示单独的窗口,虽然也可以手动调整摄像机的Normalized Viewport Rect(标准化视口矩形)参数。本节包含一系列附加的首选项设置,使之独立于用户的显示器配置。

2.2.1 准备工作
示例代码的0423_02_01_02的文件夹中有一个名为 basicLevel 的包是专为本节准备的,包中有一个场景。

2.2.2 操作步骤
请按照下面的步骤创建画中画显示效果:
1)把basicLevel包导入到Unity中。
2)在Project视图中,打开02_01_02文件夹中的basicScene场景,这是一个基本场景,有一个方向光、一个摄像机和一些几何对象。
3)通过Hierarchy视图顶部的Create下拉菜单添加Camera选项到场景中,如下图所示:


a8c4af927b68478c36c7cd2b0e4ec29c72de7bb7

5)在Project视图中,创建一个C# Script(C#脚本),重命名为“PictureInPicture”。
6)打开脚本并替换成下面的代码:


1a23184c34603c495ff6f322a56ac82362c09a8b


9e7430d790ec8974112b77de9d637fd3e3144b63

也许你还没注意到:这里没有用数字除以100去实现百分比,而是把数字乘以0.01。原因是计算机处理乘法的效率比除法更高。
7)保存脚本,并将其附加到刚才新创建的摄像机上。
8)取消选择此摄像机的Audio Listener(音频监听器)组件,修改PictureInPicture的部分参数:把Horizontal Alignment(横向对齐)改成right(右对齐),Vertical Alignment(纵向对齐)改成top(顶对齐),Dimensions In(单位)改成pixels(像素),XOffset(X轴偏移量)和YOffset(Y轴偏移量)设成0,Width(宽度)改成400,Height(高度)改成200,如下图所示:


7554f9b5dc5c5c0c0fe29bfe072f598cf54246d1

2.2.3 实现原理
脚本修改了摄像机的Normalized Viewport Rect参数,从而按照用户偏好修改视口的尺寸和位置。

2.2.4 更多内容
下面是“画中画”可以改进的方面。

  1. 让画中画自适应屏幕尺寸
    如果想把Dimensions In(单位)选项修改成screen_percentage(屏幕百分比),视口的尺寸将会基于屏幕的实际大小,而不是pixel(像素)。
  2. 修改画中画的位置
    Vertical Alignment(纵向对齐)和Horizontal Alignment(横向对齐)可以用来修改视口的初始位置。用它们把视口放在期望的位置。
  3. 阻止画中画每帧更新
    如果不想在运行模式下改变视口的位置,可以取消选择Update(更新)选项。最好在测试的时候选中,然后在位置设置好以后再取消选择一次。
相关文章
|
9月前
|
前端开发 JavaScript
前端代码分享——星空背景特效(内含源码)
前端代码分享——星空背景特效(内含源码)
|
监控 搜索推荐 C#
听音乐不过瘾?自制一个音乐播放器!【附带函数源码】
听音乐不过瘾?自制一个音乐播放器!【附带函数源码】
133 0
听音乐不过瘾?自制一个音乐播放器!【附带函数源码】
|
Web App开发
UWP 手绘视频创作工具技术分享系列 - 手绘视频导出
原文:UWP 手绘视频创作工具技术分享系列 - 手绘视频导出 手绘视频最终的生成物是视频文件,前面几篇主要讲的是手绘视频的创作部分,今天讲一下手绘视频的导出问题。主要以 UWP 为例,另外会介绍一些 Web 端遇到的问题和解决方法。
1407 0
UWP开发入门(十五)——在FlipView中通过手势操作图片
原文:UWP开发入门(十五)——在FlipView中通过手势操作图片   本篇的最终目的,是模拟系统的照片APP可以左右滑动,缩放图片的操作。在实现的过程中,我们会逐步分析UWP编写UI的一些思路和技巧。
1539 0