CN107050859A - 一种基于unity3D的拖动相机在场景中位移的方法 - Google Patents

一种基于unity3D的拖动相机在场景中位移的方法 Download PDF

Info

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
Application number
CN201710225402.5A
Other languages
English (en)
Other versions
CN107050859B (zh
Inventor
胡国柱
唐光宇
卢学明
闫乃永
王瑞珍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Baobao Bus Co.,Ltd.
Original Assignee
Fuzhou Zhiyong Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuzhou Zhiyong Information Technology Co Ltd filed Critical Fuzhou Zhiyong Information Technology Co Ltd
Priority to CN201710225402.5A priority Critical patent/CN107050859B/zh
Publication of CN107050859A publication Critical patent/CN107050859A/zh
Application granted granted Critical
Publication of CN107050859B publication Critical patent/CN107050859B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5255Changing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio 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的拖动相机在场景中位移的方法
技术领域
本发明涉及一种基于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中的速度为当前时间减去开始插值时间,之后再除以插值需要的时间得到的,所述插值需要的时间由用户自定义。
CN201710225402.5A 2017-04-07 2017-04-07 一种基于unity3D的拖动相机在场景中位移的方法 Active CN107050859B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 佳视传奇传媒科技(北京)有限公司 三轴动态稳定和角度跟踪全景摄照一体机

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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