CN107050859A - 一种基于unity3D的拖动相机在场景中位移的方法 - Google Patents
一种基于unity3D的拖动相机在场景中位移的方法 Download PDFInfo
- Publication number
- CN107050859A CN107050859A CN201710225402.5A CN201710225402A CN107050859A CN 107050859 A CN107050859 A CN 107050859A CN 201710225402 A CN201710225402 A CN 201710225402A CN 107050859 A CN107050859 A CN 107050859A
- Authority
- CN
- China
- Prior art keywords
- camera
- displacement
- size
- width
- unity3d
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000006073 displacement reaction Methods 0.000 title claims abstract description 57
- 238000000034 method Methods 0.000 title claims abstract description 20
- 230000000007 visual effect Effects 0.000 claims abstract description 12
- 230000000694 effects Effects 0.000 claims abstract description 6
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims 1
- 230000000631 nonopiate Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
- A63F13/525—Changing parameters of virtual cameras
- A63F13/5255—Changing parameters of virtual cameras according to dedicated instructions from a player, e.g. using a secondary joystick to rotate the camera around a player's character
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供一种基于unity3D的拖动相机在场景中位移的方法,包括:判断是否是正交相机,是,则根据相机尺寸size计算出水平位移量X和垂直位移量Y:X=2×size×画面宽高比,Y=2×size;画面宽高比为unity3D引擎自带的屏幕宽高比,相机尺寸size为正交相机的视野宽度的一半;否则,获取相机到视野中心点的直线距离d和相机视角FOV,计算出水平位移量X和垂直位移量Y:X=d×2×tan(FOV÷2),Y=X÷画面宽高比;最后,再根据相机旋转角度α对X和Y进行修正,得到修正后的水平位移量X1和修正后的垂直位移量Y1作为目标值,通过插值方式以一定速度跟随目标值位移,达到平滑移动效果。本发明通过精确计算出实际的位移效果,灵活插值速度,提高拖动位移平滑度,且使用范围广。
Description
技术领域
本发明涉及一种基于unity3D的拖动相机在场景中位移的方法。
背景技术
游戏中相机的视角是个锥形视角,从截面来看,就是一个等腰三角形。而相机就处于中间顶点的位置,相机的FOV(field ofview,摄像机的视角)就是顶点的内角。游戏中经常会需要用到在电脑上拖动鼠标、在移动设备上滑动手指等操作来完成场景移动,从而浏览其他区域的操作,但是相机与场景之间存在距离,在场景跟随手指拖动的过程,存在或多或少的误差,无法达到场景完全跟随手指拖动,拖动过程中如果没有进行平滑插值,整个操作就也会非常生硬。
发明内容
本发明要解决的技术问题,在于提供一种基于unity3D的拖动相机在场景中位移的方法,实现场景的平滑移动,提升用户体验。
本发明是这样实现的:一种基于unity3D的拖动相机在场景中位移的方法,包括如下步骤:
步骤1、判断是否是正交相机,若是,则跳转至步骤4,否则,进入步骤2;
步骤2、获取相机到视野中心点的直线距离d和相机视角FOV;
步骤3、根据所述直线距离d和相机视角FOV计算出水平位移量X和垂直位移量Y:X=d×2×tan(FOV÷2),Y=X÷画面宽高比,其中,所述画面宽高比为unity3D引擎自带的屏幕宽高比,跳转至步骤5;
步骤4、根据相机尺寸size计算出水平位移量X和垂直位移量Y:X=2×size×画面宽高比,Y=2×size;其中,所述画面宽高比为unity3D引擎自带的屏幕宽高比,所述相机尺寸size为正交相机的视野宽度的一半;
步骤5、根据相机旋转角度α对水平位移量X和垂直位移量Y进行修正,得到修正后的水平位移量X1和修正后的垂直位移量Y1作为目标值,通过插值方式以一定速度跟随目标值位移,达到平滑移动效果。
进一步的,所述步骤2中“获取相机到视野中心点的直线距离d”具体为:判断视野内的地面是否为固定的平地,若是,则从相机往视野中央发射一条射线,得到射线与地面的碰撞点,计算出相机到碰撞点的距离作为直线距离d,否则,取相机到视野中心的距离作为直线距离d。
进一步的,所述步骤5中“根据相机旋转角度α对水平位移量X和垂直位移量Y进行修正”具体为:
X1=-X×(水平实际操作量×cosα+垂直实际操作量×sinα);
Y1=Y×(水平实际操作量×sinα-垂直实际操作量×sinα);
其中,相机旋转角度α为相机绕Z轴旋转的角度,即平行于地面的旋转角度,所述Z轴为垂直于场景地面的坐标轴,所述水平实际操作量和垂直实际操作量分别为单位时间内手指在屏幕上的水平移动向量和垂直移动向量。
进一步的,所述步骤5中的速度为当前时间减去开始插值时间,之后再除以插值需要的时间得到的,所述插值需要的时间由用户自定义。
本发明具有如下优点:先精确计算出实际的位移,再利用插值方式实现拖动的平滑位移,大大降低误差范围,改善拖动的模拟效果,提升用户体验;插值速度可以根据用户需要灵活调整;另外,本发明适用于正交相机与非正交相机两种模式,应用范围广。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明一种基于unity3D的拖动相机在场景中位移的方法执行流程图。
具体实施方式
如图1所示,一种基于unity3D的拖动相机在场景中位移的方法,包括如下步骤:
步骤1、判断是否是正交相机,若是,则跳转至步骤4,否则,进入步骤2;
步骤2、获取相机到视野中心点的直线距离d和相机视角FOV;
步骤3、根据所述直线距离d和相机视角FOV计算出水平位移量X和垂直位移量Y:X=d×2×tan(FOV÷2),Y=X÷画面宽高比,其中,所述画面宽高比为unity3D引擎自带的屏幕宽高比,跳转至步骤5;
步骤4、根据相机尺寸size计算出水平位移量X和垂直位移量Y:X=2×size×画面宽高比,Y=2×size;其中,所述画面宽高比为unity3D引擎自带的屏幕宽高比,所述相机尺寸size为正交相机的视野宽度的一半;
步骤5、根据相机旋转角度α对水平位移量X和垂直位移量Y进行修正,得到修正后的水平位移量X1和修正后的垂直位移量Y1作为目标值,通过插值方式以一定速度跟随目标值位移,达到平滑移动效果。
本发明中,所述步骤2中“获取相机到视野中心点的直线距离d”具体为:判断视野内的地面是否为固定的平地,若是,则从相机往视野中央发射一条射线,得到射线与地面的碰撞点,计算出相机到碰撞点的距离作为直线距离d,否则,取相机到视野中心的距离作为直线距离d。
本发明中,所述步骤5中“根据相机旋转角度α对水平位移量X和垂直位移量Y进行修正”具体为:
X1=-X×(水平实际操作量×cosα+垂直实际操作量×sinα);
Y1=Y×(水平实际操作量×sinα-垂直实际操作量×sinα);
其中,相机旋转角度α为相机绕Z轴旋转的角度,即平行于地面的旋转角度,所述Z轴为垂直于场景地面的坐标轴,所述水平实际操作量和垂直实际操作量分别为单位时间内手指在屏幕上的水平移动向量和垂直移动向量。
本发明中,所述步骤5中的速度为当前时间减去开始插值时间,之后再除以插值需要的时间得到的(一般为0~1的值),所述插值需要的时间由用户自定义(例如1s),例如插值方式可采用Mathf.Lerp(初始值,目标值,(0-1)插值位置)实现。
本发明通过精确计算出实际的位移,再利用插值方式实现拖动的平滑位移,提升用户体验;插值速度可以根据用户需要灵活调整;同时适用于正交相机与非正交相机两种模式。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (4)
1.一种基于unity3D的拖动相机在场景中位移的方法,其特征在于:包括如下步骤:
步骤1、判断是否是正交相机,若是,则跳转至步骤4,否则,进入步骤2;
步骤2、获取相机到视野中心点的直线距离d和相机视角FOV;
步骤3、根据所述直线距离d和相机视角FOV计算出水平位移量X和垂直位移量Y:X=d×2×tan(FOV÷2),Y=X÷画面宽高比,其中,所述画面宽高比为unity3D引擎自带的屏幕宽高比,跳转至步骤5;
步骤4、根据相机尺寸size计算出水平位移量X和垂直位移量Y:X=2×size×画面宽高比,Y=2×size;其中,所述画面宽高比为unity3D引擎自带的屏幕宽高比,所述相机尺寸size为正交相机的视野宽度的一半;
步骤5、根据相机旋转角度α对水平位移量X和垂直位移量Y进行修正,得到修正后的水平位移量X1和修正后的垂直位移量Y1作为目标值,通过插值方式以一定速度跟随目标值位移,达到平滑移动效果。
2.根据权利要求1所述的一种基于unity3D的拖动相机在场景中位移的方法,其特征在于:所述步骤2中“获取相机到视野中心点的直线距离d”具体为:判断视野内的地面是否为固定的平地,若是,则从相机往视野中央发射一条射线,得到射线与地面的碰撞点,计算出相机到碰撞点的距离作为直线距离d,否则,取相机到视野中心的距离作为直线距离d。
3.根据权利要求1所述的一种基于unity3D的拖动相机在场景中位移的方法,其特征在于:所述步骤5中“根据相机旋转角度α对水平位移量X和垂直位移量Y进行修正”具体为:
X1=-X×(水平实际操作量×cosα+垂直实际操作量×sinα);
Y1=Y×(水平实际操作量×sinα-垂直实际操作量×sinα);
其中,相机旋转角度α为相机绕Z轴旋转的角度,即平行于地面的旋转角度,所述Z轴为垂直于场景地面的坐标轴,所述水平实际操作量和垂直实际操作量分别为单位时间内手指在屏幕上的水平移动向量和垂直移动向量。
4.根据权利要求1所述的一种基于unity3D的拖动相机在场景中位移的方法,其特征在于:所述步骤5中的速度为当前时间减去开始插值时间,之后再除以插值需要的时间得到的,所述插值需要的时间由用户自定义。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710225402.5A CN107050859B (zh) | 2017-04-07 | 2017-04-07 | 一种基于unity3D的拖动相机在场景中位移的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710225402.5A CN107050859B (zh) | 2017-04-07 | 2017-04-07 | 一种基于unity3D的拖动相机在场景中位移的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107050859A true CN107050859A (zh) | 2017-08-18 |
CN107050859B CN107050859B (zh) | 2020-10-27 |
Family
ID=59601563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710225402.5A Active CN107050859B (zh) | 2017-04-07 | 2017-04-07 | 一种基于unity3D的拖动相机在场景中位移的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107050859B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107783759A (zh) * | 2017-11-22 | 2018-03-09 | 苏州乐米信息科技股份有限公司 | 一种相机轨迹动态控制系统和控制方法 |
CN107844292A (zh) * | 2017-10-31 | 2018-03-27 | 苏州乐米信息科技股份有限公司 | 一种跑酷游戏中相机曲线轨迹的控制方法及其系统 |
CN112619142A (zh) * | 2020-12-29 | 2021-04-09 | 珠海金山网络游戏科技有限公司 | 目标对象控制方法及装置 |
CN114307145A (zh) * | 2022-01-04 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 画面显示方法、装置、终端、存储介质及程序产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090015670A1 (en) * | 2007-07-13 | 2009-01-15 | Honeywell International, Inc. | Privacy zone algorithm for ptz dome cameras |
CN102932598A (zh) * | 2012-11-06 | 2013-02-13 | 苏州科达科技股份有限公司 | 由摄像机对画面中的图像进行智能跟踪的方法 |
CN103179413A (zh) * | 2011-12-23 | 2013-06-26 | 联发科技股份有限公司 | 影像处理方法以及影像处理装置 |
US20140307062A1 (en) * | 2011-12-05 | 2014-10-16 | Rotary View Ltd. | System and method for generating a stereoscopic 3d presentation from picture sequence emanating from single lens source |
CN105516617A (zh) * | 2016-01-18 | 2016-04-20 | 佳视传奇传媒科技(北京)有限公司 | 三轴动态稳定和角度跟踪全景摄照一体机 |
-
2017
- 2017-04-07 CN CN201710225402.5A patent/CN107050859B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090015670A1 (en) * | 2007-07-13 | 2009-01-15 | Honeywell International, Inc. | Privacy zone algorithm for ptz dome cameras |
US20140307062A1 (en) * | 2011-12-05 | 2014-10-16 | Rotary View Ltd. | System and method for generating a stereoscopic 3d presentation from picture sequence emanating from single lens source |
CN103179413A (zh) * | 2011-12-23 | 2013-06-26 | 联发科技股份有限公司 | 影像处理方法以及影像处理装置 |
CN102932598A (zh) * | 2012-11-06 | 2013-02-13 | 苏州科达科技股份有限公司 | 由摄像机对画面中的图像进行智能跟踪的方法 |
CN105516617A (zh) * | 2016-01-18 | 2016-04-20 | 佳视传奇传媒科技(北京)有限公司 | 三轴动态稳定和角度跟踪全景摄照一体机 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107844292A (zh) * | 2017-10-31 | 2018-03-27 | 苏州乐米信息科技股份有限公司 | 一种跑酷游戏中相机曲线轨迹的控制方法及其系统 |
CN107844292B (zh) * | 2017-10-31 | 2021-07-16 | 苏州乐米信息科技股份有限公司 | 一种跑酷游戏中相机曲线轨迹的控制方法及其系统 |
CN107783759A (zh) * | 2017-11-22 | 2018-03-09 | 苏州乐米信息科技股份有限公司 | 一种相机轨迹动态控制系统和控制方法 |
CN112619142A (zh) * | 2020-12-29 | 2021-04-09 | 珠海金山网络游戏科技有限公司 | 目标对象控制方法及装置 |
CN112619142B (zh) * | 2020-12-29 | 2022-09-02 | 珠海金山数字网络科技有限公司 | 目标对象控制方法及装置 |
CN114307145A (zh) * | 2022-01-04 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 画面显示方法、装置、终端、存储介质及程序产品 |
CN114307145B (zh) * | 2022-01-04 | 2023-06-27 | 腾讯科技(深圳)有限公司 | 画面显示方法、装置、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107050859B (zh) | 2020-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107050859A (zh) | 一种基于unity3D的拖动相机在场景中位移的方法 | |
US9355451B2 (en) | Information processing device, information processing method, and program for recognizing attitude of a plane | |
CN110019766A (zh) | 知识图谱的展示方法、装置、移动终端及可读存储介质 | |
US9386297B2 (en) | Image generating apparatus generating reconstructed image, method, and computer-readable recording medium | |
US9373196B2 (en) | Image processing apparatus, image processing method, and program | |
US9001208B2 (en) | Imaging sensor based multi-dimensional remote controller with multiple input mode | |
EP3241093B1 (en) | Electronic system with gesture calibration mechanism and method of operation thereof | |
CN102880290B (zh) | 一种显示控制方法、装置及终端 | |
US20180088676A1 (en) | Gesture interface | |
KR102317522B1 (ko) | 게임 씬 내의 목표 대상을 고정시키기 위한 방법과 장치, 전자 장치, 및 저장 매체 | |
CN103049934A (zh) | 三维视景仿真系统中的漫游模式实现方法 | |
CN105067011A (zh) | 一种基于视觉标定及坐标转换的测量系统整体校准方法 | |
CN106444846A (zh) | 移动终端的定位和控制方法、装置及无人机 | |
WO2014062001A1 (ko) | 3차원의 가상 공간 내에서 가상 카메라를 제어하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체 | |
CN103677240A (zh) | 虚拟触摸交互方法和虚拟触摸交互设备 | |
CN107240120A (zh) | 视频中运动目标的跟踪方法及装置 | |
US20150104068A1 (en) | System and method for locating fiducials with known shape | |
KR102567958B1 (ko) | 표시 장치, 표시 장치의 제어 방법, 및 단말 | |
US10339820B2 (en) | System for displaying information related to a flight of an aircraft and associated method | |
CN107479839B (zh) | 色盘、双色渲染方法、取色方法、可读存储介质及计算机 | |
CN104050721B (zh) | 平滑操纵三维对象的方法及装置 | |
CN105791928A (zh) | 一种电视无线空鼠光标移动定位方法及系统 | |
CN105892857B (zh) | 图像定位方法及装置 | |
CN104699243A (zh) | 一种基于单目视觉的无实体虚拟鼠标方法 | |
US10965930B2 (en) | Graphical user interface for indicating off-screen points of interest |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 350028 Jinshan Juyuan Industrial Park project a, No.18, West Third Ring Road, Jianxin Town, Cangshan District, Fuzhou City, Fujian Province Patentee after: Baobao Bus Co.,Ltd. Address before: 350000 room 320, building 11, block B, Fuzhou Software Park, No. 89, software Avenue, Gulou District, Fuzhou City, Fujian Province Patentee before: FUZHOU ZHIYONG INFORMATION TECHNOLOGY Co.,Ltd. |
|
CP03 | Change of name, title or address |