WO2013173948A1 - Method and device for spatially positioning object in three-dimensional virtual reality scene - Google Patents
Method and device for spatially positioning object in three-dimensional virtual reality scene Download PDFInfo
- Publication number
- WO2013173948A1 WO2013173948A1 PCT/CN2012/001258 CN2012001258W WO2013173948A1 WO 2013173948 A1 WO2013173948 A1 WO 2013173948A1 CN 2012001258 W CN2012001258 W CN 2012001258W WO 2013173948 A1 WO2013173948 A1 WO 2013173948A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- offset
- virtual reality
- reality scene
- movement
- dimensional virtual
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000033001 locomotion Effects 0.000 claims abstract description 83
- 239000013598 vector Substances 0.000 claims description 20
- 238000006243 chemical reaction Methods 0.000 claims description 12
- 238000003825 pressing Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 208000003251 Pruritus Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
Definitions
- the present invention relates to the field of virtual reality applications, and in particular, to an object space positioning method and apparatus in a three-dimensional virtual reality scene.
- the display we use is also two-dimensional, we only need to map our two-dimensional space to the computer monitor. On the top, we can still get a virtual two-dimensional space, the movement and rotation of the two-dimensional space are on a plane. However, if the three-dimensional space is rendered in a two-dimensional display, the content of the extra axis will need to be re-calculated by the perspective projection to be finally displayed on the display.
- the operation of three-dimensional scenes in a two-dimensional display is performed by means of multi-view switching, that is, a three-dimensional scene is viewed from different axial directions, and multiple axial observation views are generated, so that The axis that is observed is omitted, and the three-dimensional is reduced to two-dimensional processing.
- multi-view switching that is, a three-dimensional scene is viewed from different axial directions, and multiple axial observation views are generated, so that The axis that is observed is omitted, and the three-dimensional is reduced to two-dimensional processing.
- the object space in the three-dimensional virtual reality scene is accurately positioned.
- the object space positioning method in the three-dimensional virtual reality scene needs to be separately adjusted on multiple two-dimensional views to realize the object space placement. For the designer, the operation is very inconvenient and the design time is wasted. Summary of the invention
- the present invention provides a method for spatially arranging objects in a three-dimensional virtual reality scene, which is generated by acquiring an external device that can obtain three axial driving data to manipulate an object in a three-dimensional virtual reality scene. Driving the data, and then converting the driving data into motion offsets, including the moving offset and the rotating offset, thereby realizing accurate positioning of the object space in the three-dimensional virtual reality scene only in the three-dimensional view.
- the specific steps of the method are:
- Step 1 manipulates the objects in the 3D virtual reality scene in the 3D view, and other views are only used as visual references.
- the driving data of the three axes is the driving data of the three axial directions of the horizontal X-axis and the vertical Y-axis of the plane of the screen and the Z-axis of the plane of the vertical screen.
- the invention provides an object space arranging device in a three-dimensional virtual reality scene.
- the device specifically includes:
- a reading unit configured to read, from the device driving interface, an external device that can acquire three axial driving data to manipulate driving data of an object in the three-dimensional virtual reality scene, and send the driving data to the conversion unit;
- a conversion unit a final three axial motion offsets of the object for converting the driving data into a three-dimensional virtual reality scene, and transmitting the final three axial motion offsets to the positioning unit;
- Positioning unit Used to perform three-axis component motion on an object with a motion offset other than 0 to achieve an update of the spatial position and angle of the object.
- the invention acquires driving data by moving an object in a three-dimensional virtual reality scene by an external device, converts a moving offset and a rotation offset of the object, and performs three axial movements and rotations on the object whose offset is not zero.
- the invention realizes that the object can be accurately positioned on the object space in the three-dimensional virtual reality scene only by the object in the three-dimensional view, and the other views are only used as the visual reference object pendulum.
- the position of the bit operation can be in place; thus shortening the design time of the designer of the three-dimensional virtual reality scene and reducing the workload.
- Figure 1 is a legend of the difference between two-dimensional and three-dimensional space operations
- FIG. 2 is a step-by-step illustration of an object space positioning method in a three-dimensional virtual reality scene
- FIG. 3 is a diagram illustrating a method of making a lever rod when an external device is a joystick
- Figure 4 is a step-by-step illustration of the conversion drive data to three axial motion offsets when the external device is a joystick;
- Figure 5 is a legend of an external device as a three-dimensional mouse
- Figure 6 is a diagram showing the steps of converting the drive data into three axial motion offsets when the external device is a three-dimensional mouse;
- FIG. 7 is a composition diagram of an object space arranging device in a three-dimensional virtual reality scene. detailed description
- the invention provides an object space positioning method in a three-dimensional virtual reality scene, which acquires driving data generated by an object in a three-dimensional virtual reality scene by acquiring an external device that can obtain three axial driving data, and then The driving data is converted into a motion offset, including the moving offset and the rotational offset of the object, thereby realizing accurate positioning of the object space in the three-dimensional virtual reality scene only in the three-dimensional view.
- the specific steps of the method are as follows:
- an external device is used to manipulate an object in a three-dimensional virtual reality scene, which is to solve the technical problem that an object in a three-dimensional virtual reality scene realizes three-dimensional depth movement and rotation on a two-dimensional screen.
- the three axial drive data external devices obtain three axial drive data
- the converted drive data is three axial motion offsets, including the mobile offset and By rotating the offset, three axial movements and rotations in the horizontal, horizontal, and vertical directions can be obtained. Therefore, the designer uses the external device to manipulate the objects in the three-dimensional virtual reality scene only in the three-dimensional view, so that the object can be placed deep into the display, and other views are only used as visual reference objects. The position of the position is in place.
- the external device communicates with the computer through the device driving interface, and when the external device manipulates the movement of the object in the three-dimensional virtual reality scene, the driving data is transmitted to the interface.
- the driving data in step 21 is obtained by reading data of an external device and a computer communication interface.
- the external device in which the three axial driving data can be obtained as described in step 21 can use an external device such as a joystick, see FIG. 3, the working method and state of the external device:
- the plane where the screen is located is the horizontal X axis and the vertical Y axis, and the vertical screen is the Z axis;
- the action of the joystick that controls the state of the object moving in the real physical space along the horizontal plane is defined as the movement of the object in the three-dimensional virtual reality scene in the horizontal plane of the three-dimensional virtual reality scene, wherein the three-dimensional virtual reality surface level is defined above.
- the plane of the X-axis and the Z-axis of the screen space; the operation of the joystick in the state of the controlled object moving in the direction of the vertical horizontal plane in the real physical space is defined as the movement of the object of the three-dimensional virtual reality scene in the vertical horizontal direction of the three-dimensional virtual reality scene, wherein
- the vertical horizontal direction of the three-dimensional virtual reality scene is the Y-axis of the screen space defined above;
- the rotary arm is defined as the selected object and rotated while the object is selected.
- step 22 In the embodiment of the present invention using the joystick, the specific implementation method of step 22 is shown in the figure.
- the driving data obtained in step 22 is a 6-element array obtained from step 21: the first three elements of the array correspond to a moving offset vector of the three-dimensional virtual reality scene object, and the last three elements of the array correspond to the three-dimensional virtual reality scene object.
- the rotation shifts the vector, and each element of the array described above is an integer value.
- the step 22 converts the driving data into three axial motion offsets, including a moving offset and a rotational offset, because the amount of movement and rotation in the three-dimensional scene can use floating point numbers (ie, With decimal point data) to achieve a more precise position operation, after this conversion step, the integer value offset can be converted to a more accurate offset with floating point number.
- the amount of movement of the external device joystick in the X-axis direction is X
- the value in the positive direction is x
- the value in the negative direction is -X, which is expressed as mx (then mx can be positive) It can be negative and 0);
- mx then mx can be positive
- my then can be positive or negative and 0
- the movement of the external device along the Z-axis is assumed.
- the quantity is expressed as mz (then mz can be positive or negative and 0);
- the amount of rotation of the external device along the X axis is X
- the value rotated to the right is X
- the value rotated to the left is -X
- it is represented as rx (then rx can be positive or negative and 0)
- the amount of rotation of the external device along the Y axis is expressed as ry (then iy can be positive or negative and 0);
- the amount of rotation of the external device along the Z axis is expressed as rz (then rz can Positive numbers can also be negative and 0);
- the first three elements of the array are represented by a moving offset vector M (mx, my, mz);
- M" is the moving offset of the corresponding 3D virtual reality scene that is ultimately needed.
- R' is the rotational offset of the corresponding 3D virtual reality scene that is ultimately needed.
- the external device in which the three axial driving data can be obtained in step 21 can also use an external device such as a three-dimensional mouse. Referring to FIG. 5, the working method and state of the external device:
- the plane of the screen is the horizontal X axis and the vertical Y axis, vertical screen
- the plane of the curtain is the Z axis;
- the simultaneous movement of the selected object by pressing the left mouse button is defined as the object in the selected three-dimensional virtual reality scene and the object moves in the horizontal plane of the three-dimensional virtual reality scene, wherein the horizontal plane of the three-dimensional virtual reality scene is the X of the screen space defined above.
- the simultaneous movement of the selected object by pressing the right mouse button is defined as selecting an object in the three-dimensional virtual reality scene and the object is rotated in the three-dimensional virtual reality scene;
- the scroll wheel middle key is defined to move the object in the selected three-dimensional virtual reality scene in a vertical horizontal direction in the three-dimensional virtual reality scene, wherein the vertical horizontal direction of the three-dimensional virtual reality scene is the Y-axis of the screen space defined above.
- the three axial driving data obtained in step 22 are four data packets when acquired from step 21, the first data packet includes the left, middle, and right mouse states respectively, the state value 0 indicates release, and 1 indicates press
- the second packet represents the amount of moving pixels in the X-axis direction; the third packet identifies the amount of moving pixels in the Y-axis direction; and the fourth packet represents the amount of moving pixels in the Z-axis direction.
- the step of converting the above driving data into three axial motion offsets, including the moving offset and the rotational offset, is to convert from the pixel amount to the size and speed based on the three-dimensional view window. Transfer amount.
- the conversion step is calculated in this specific embodiment, specifically:
- Off_y y/ h
- M' is the moving offset of the corresponding 3D virtual reality scene that is ultimately needed.
- R is the rotational offset of the corresponding 3D virtual reality scene that is ultimately needed.
- Step 23 determines the motion offset of the final three-dimensional virtual reality scene acquired from step 22, including the motion offset and the rotation offset, and performs X-axis, y-axis, and z-axis on the object whose final offset is not zero.
- the movement and rotation of the three axial components to achieve the update of the spatial position and angle of the object; for the updating of the spatial position and angle of the object methods commonly used in various three-dimensional virtual reality scene modeling software can be used, such as:
- Rotation Three functions: X axis: itch (x) ; y axis - ' yaw (y); z axis. ' roll (z) .
- Step 23 The motion of the three axial components of the object whose motion offset is not 0 is specifically displayed in the 3D view S and the other view S, that is, in addition to the 3D view® window, other view windows: Other views of the center, such as the top view, the left view, and the rear view, are simultaneously adjusted according to the motion offset of the selected object, so that when the selected object is moved, the content displayed in the sub-view follows the change, and the operator can Constantly confirm whether the position of the object is in place.
- the invention provides an object space arranging device in a three-dimensional virtual reality scene. See picture
- the device specifically includes:
- a reading unit configured to read, from the device driving interface, an external device that can acquire three axial driving data to manipulate driving data of an object in the three-dimensional virtual reality scene, and send the driving data to the conversion unit;
- Conversion unit the final three axial motion offsets of the object used to convert the falsified data into a three-dimensional virtual reality scene, and send the final three axial motion offsets to the aligning unit ;
- Positioning unit Used to perform three-axis component motion on an object with a motion offset other than 0 to achieve an update of the spatial position and angle of the object.
- the external device of the reading unit may be a game level bar or a three-dimensional mouse.
- the conversion step without the conversion step is the same as the conversion step in the embodiment of the above method, and is no longer obscured.
- relationship language such as first and second is only used to distinguish one entity or operation from another entity or operation, and does not necessarily require or imply these entities or operations. There is any such actual relationship or order between them.
- the terms "including”, “comprising” or “comprising” or “comprising” are intended to encompass a non-exclusive inclusion, such that a process, method, article, or device that includes a plurality of elements includes not only those elements but also Other elements, or elements that are inherent to such a process, method, item, or device.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
Abstract
Provided are a method and device for spatially positioning an object in a three-dimensional virtual reality scene. The method includes the steps of: acquiring the drive data generated by manipulating an object in a three-dimensional virtual reality scene by external equipment which is capable of acquiring three-axial drive data (21); converting the drive data into a three-axial motion offset (22); and judging whether the motion offset is 0, and moving the object, the motion offset of which is not 0, for components of three axes to achieve positioning of same (23).
Description
一种在三維虚拟現实场景中的物体空间摆位方法及装置 技术领域 Object space positioning method and device in three-dimensional virtual reality scene
本发明涉及虚拟现实应用领域, 特別涉及一种在三維虚拟现实场景中的 物体空间摆位方法及装置。 The present invention relates to the field of virtual reality applications, and in particular, to an object space positioning method and apparatus in a three-dimensional virtual reality scene.
背景技术 Background technique
计算机图像技术的快速发展,使得三維虚拟现实技术得到了长足的进步。 二維和三維空间搡作的区别, 参见图 1, 在二維空间中, 我们有个两个坐标 轴 ( Y), 我们称其为一个平面。三維空间也就是我们所说的立体空间就是 由 X, Y, Z三个轴即横坐标、 纵坐标、 垂直坐标組成的空间。 如果我们要 在这两种空间中去确定一个物体的位置, 我们只需要指定该物体的各个轴的 坐标值。 但是将这个过程用计算机图形学的方式在电脑上实现, 结果可能没 那么简单, 对于二維空间, 因为我们用的显示器本身也是二维的, 我们只需 要将我们的二维空间映射到电脑显示器上即可, 我们依然可以得到一个虛拟 的二維空间, 二維空间的移动和旋转都在一个平面上。 但是如果将三維空间 在二維的显示器中呈现, 多出的一个轴的内容将需要通过透视投影的方式再 计算平面投影, 从而最终显示在显示器上。 The rapid development of computer image technology has made great progress in 3D virtual reality technology. The difference between two-dimensional and three-dimensional motion, see Figure 1. In two-dimensional space, we have two coordinate axes (Y), which we call a plane. The three-dimensional space, which is what we call the three-dimensional space, is the space consisting of the three axes of X, Y, and Z, namely the abscissa, ordinate, and vertical coordinates. If we want to determine the position of an object in these two spaces, we only need to specify the coordinates of each axis of the object. But the process is implemented on a computer by computer graphics. The result may not be so simple. For the two-dimensional space, because the display we use is also two-dimensional, we only need to map our two-dimensional space to the computer monitor. On the top, we can still get a virtual two-dimensional space, the movement and rotation of the two-dimensional space are on a plane. However, if the three-dimensional space is rendered in a two-dimensional display, the content of the extra axis will need to be re-calculated by the perspective projection to be finally displayed on the display.
在这样二维的显示器中, 我们需要对其显示的三維物体进行位置的移动 是比较复杂的, 首先, 鼠标只能在显示器平面上移动, 并不能深入到显示器 内部, 在这种情况下,我们并不能将三維物体沿着显示器的深度方向拉近和 推远。 无法实现像我们在真实世界中一样, 摆放一个物体可以在三維空间中 多轴向的操作。 其次, 三維空间中对一个物体的旋转也会是多轴向。 所以目 前对于在二维的显示器中操作三維的场景, 都是采用多视图切换的方式来操 作, 即从不同的轴向的方向来看一个三维场景, 产生多个轴向观察的视图, 这样可以将观察的那个轴向省略掉, 将三維降成二維来处理, 通过在每个二 維视图上分别进行位置调整, 达到在三維虚拟现实场景中的物体空间准确摆 位的目的。 但是目前这种三維虚拟现实场景中的物体空间摆位方法需要在多 个二维视图上分别调整来实现物体空间摆位, 对于设计者来说, 操作非常不 方便, 浪費设计时间。
发明内容 In such a two-dimensional display, it is more complicated to move the three-dimensional object displayed on it. First, the mouse can only move on the plane of the display and cannot penetrate inside the display. In this case, we It is not possible to zoom in and out of a three-dimensional object along the depth of the display. It is impossible to achieve multi-axial operation in a three-dimensional space by placing an object as we are in the real world. Second, the rotation of an object in three-dimensional space is also multi-axial. Therefore, at present, the operation of three-dimensional scenes in a two-dimensional display is performed by means of multi-view switching, that is, a three-dimensional scene is viewed from different axial directions, and multiple axial observation views are generated, so that The axis that is observed is omitted, and the three-dimensional is reduced to two-dimensional processing. By performing position adjustment on each two-dimensional view, the object space in the three-dimensional virtual reality scene is accurately positioned. However, the object space positioning method in the three-dimensional virtual reality scene needs to be separately adjusted on multiple two-dimensional views to realize the object space placement. For the designer, the operation is very inconvenient and the design time is wasted. Summary of the invention
有鉴于此, 本发明提供了一种在三维虚拟现实场景中的物体空间摆位的 方法, 该方法通过获取可获得三个轴向驱动数据的外置设备操控三維虚拟现 实场景中的物体产生的驱动数据, 再将驱动数据转换为运动偏移量, 包括移 动偏移量和旋转偏移量, 从而实现了只在三維視图中就能完成对三维虚拟现 实场景中的物体空间准确摆位。 该方法具体步骤为: In view of the above, the present invention provides a method for spatially arranging objects in a three-dimensional virtual reality scene, which is generated by acquiring an external device that can obtain three axial driving data to manipulate an object in a three-dimensional virtual reality scene. Driving the data, and then converting the driving data into motion offsets, including the moving offset and the rotating offset, thereby realizing accurate positioning of the object space in the three-dimensional virtual reality scene only in the three-dimensional view. The specific steps of the method are:
1、获取可获得三个轴向驱动数据的外置设备操控三维虚拟现实场景中的 物体产生的驱动数据; 1. Acquiring an external device that can obtain three axial driving data to control driving data generated by an object in a three-dimensional virtual reality scene;
2、 转换上述驱动数据为三个轴向的运动偏移量; 2. Converting the above driving data into three axial motion offsets;
3、判断运动偏移量是否为 0, 对运动偏移量不为 0的物体进行三个轴向 分量的运动以实现摆位。 3. Determine whether the motion offset is 0, and perform three axial component motions on the object whose motion offset is not 0 to achieve the position.
其中步骤 1操控三维虚拟现实场景中的物体是在三維视图中完成的, 其 他视图只用于作为目视参考。 Step 1 manipulates the objects in the 3D virtual reality scene in the 3D view, and other views are only used as visual references.
其中所迷三个轴向的驱动数据为屏幕所在平面横向 X轴和纵向 Y轴,垂 直屏幕所在平面 Z轴三个轴向的驱动数据。 The driving data of the three axes is the driving data of the three axial directions of the horizontal X-axis and the vertical Y-axis of the plane of the screen and the Z-axis of the plane of the vertical screen.
本发明提供了一种在三維虚拟现实场景中的物体空间摆位装置。 该装置 具体包括: The invention provides an object space arranging device in a three-dimensional virtual reality scene. The device specifically includes:
读取单元: 用于从设备驱动接口读取可获取三个轴向驱动数据的外置设 备操纵三維虚拟现实场景中的物体的驱动数据, 并将所述驱动数据发送至转 换单元; a reading unit: configured to read, from the device driving interface, an external device that can acquire three axial driving data to manipulate driving data of an object in the three-dimensional virtual reality scene, and send the driving data to the conversion unit;
转换单元: 用于将所述驱动数据转换为三維虚拟现实场景的物体最终的 三个轴向的运动偏移量, 并将所述最终三个轴向的运动偏移量发送至摆位单 元; a conversion unit: a final three axial motion offsets of the object for converting the driving data into a three-dimensional virtual reality scene, and transmitting the final three axial motion offsets to the positioning unit;
摆位单元:用于对运动偏移量不为 0的物体进行三个轴向分量的运动以实 现对物体空间位置和角度的更新。 Positioning unit: Used to perform three-axis component motion on an object with a motion offset other than 0 to achieve an update of the spatial position and angle of the object.
本发明通过外置设备移动三維虚拟现实场景中的物体获取驱动数据, 转 换出物体的移动偏移量和旋转偏移量, 对偏移量不为 0的物体进行三个轴向 的移动和旋转, 使得本发明实现了只在三维视图上搡纵物体即可完成对三維 虚拟现实场景中的物体空间的准确摆位, 而其他視图只作为目視参考物体摆
位操作的位置是否到位即可; 由此缩短了三維虚拟现实场景设计人员的设计 时间, 减少了工作量。 The invention acquires driving data by moving an object in a three-dimensional virtual reality scene by an external device, converts a moving offset and a rotation offset of the object, and performs three axial movements and rotations on the object whose offset is not zero. The invention realizes that the object can be accurately positioned on the object space in the three-dimensional virtual reality scene only by the object in the three-dimensional view, and the other views are only used as the visual reference object pendulum. The position of the bit operation can be in place; thus shortening the design time of the designer of the three-dimensional virtual reality scene and reducing the workload.
附 B说明 Appendix B
图 1是二維和三维空间操作的区別的图例; Figure 1 is a legend of the difference between two-dimensional and three-dimensional space operations;
图 2是一种在三維虚拟现实场景中的物体空间摆位方法的步驟图例; 图 3是外置设备为操纵杆时, 搡纵杆搡作方法图例; 2 is a step-by-step illustration of an object space positioning method in a three-dimensional virtual reality scene; FIG. 3 is a diagram illustrating a method of making a lever rod when an external device is a joystick;
图 4是外置设备为操纵杆时, 转换驱动数据为三个轴向的运动偏移量的 步骤图例; Figure 4 is a step-by-step illustration of the conversion drive data to three axial motion offsets when the external device is a joystick;
图 5是外置设备为三维鼠标的图例; Figure 5 is a legend of an external device as a three-dimensional mouse;
图 6是外置设备为三維鼠标时, 转换驱动数据为三个轴向的运动偏移量 的步骤图例; Figure 6 is a diagram showing the steps of converting the drive data into three axial motion offsets when the external device is a three-dimensional mouse;
图 7是一种在三維虚拟现实场景中的物体空间摆位装置的組成图例。 具体实施方式 FIG. 7 is a composition diagram of an object space arranging device in a three-dimensional virtual reality scene. detailed description
为使本发明的上迷目的、 特征和优点能够更加明显易懂, 下面结合附图 和具体实施方式对本发明实施例作进一步详细的说明。 The embodiments of the present invention are further described in detail below with reference to the drawings and specific embodiments.
本发明提供了一种在三维虚拟现实场景中的物体空间摆位方法, 该方法 通过获取可获得三个轴向驱动数据的外置设备操控三维虚拟现实场景中的物 体产生的驱动数据, 再将驱动数据转换为运动偏移量, 包括物体的移动偏移 量和旋转偏移量, 从而实现了只在三维視图中就能完成对三维虚拟现实场景 中的物体空间准确摆位。 参见图 2, 该方法具体步骤为: The invention provides an object space positioning method in a three-dimensional virtual reality scene, which acquires driving data generated by an object in a three-dimensional virtual reality scene by acquiring an external device that can obtain three axial driving data, and then The driving data is converted into a motion offset, including the moving offset and the rotational offset of the object, thereby realizing accurate positioning of the object space in the three-dimensional virtual reality scene only in the three-dimensional view. Referring to Figure 2, the specific steps of the method are as follows:
21、 获取可获得三个轴向驱动数据的外置设备操控三维虚拟现实场景中 的物体产生的驱动数据; Obtaining, by an external device that obtains three axial driving data, driving data generated by an object in a three-dimensional virtual reality scene;
22、 转换上述驱动数据为三个轴向的运动偏移量; 22. Converting the above driving data into three axial motion offsets;
23、 判断运动偏移量是否为 0, 对运动偏移量不为 0的物体进行三个轴 向分量的运动以实现摆位。 23. Determine whether the motion offset is 0, and perform motion of three axial components on the object whose motion offset is not 0 to achieve the position.
在步骤 21中,使用了外置设备来操控三維虚拟现实场景中的物体,是为 了解决三維虚拟现实场景中的物体在二維屏幕上实现三维纵深移动和旋转的 效果的技术问题, 通过可获得三个轴向驱动数据的外置设备获得三个轴向的 驱动数据, 经过转换驱动数据为三个轴向的运动偏移量, 包括移动偏移量和
旋转偏移量, 即可以获得水平横向, 水平纵向, 垂直方向的三个轴向的移动 和旋转量。 所以设计人员使用该外置设备只在三維视图中对三维虚拟现实场 景中的物体进行操控, 就能达到将物体摆位到深入显示器内部的效果, 而其 他视图只用来作为目视参考物体摆位搡作位置是否到位即可。 In step 21, an external device is used to manipulate an object in a three-dimensional virtual reality scene, which is to solve the technical problem that an object in a three-dimensional virtual reality scene realizes three-dimensional depth movement and rotation on a two-dimensional screen. The three axial drive data external devices obtain three axial drive data, and the converted drive data is three axial motion offsets, including the mobile offset and By rotating the offset, three axial movements and rotations in the horizontal, horizontal, and vertical directions can be obtained. Therefore, the designer uses the external device to manipulate the objects in the three-dimensional virtual reality scene only in the three-dimensional view, so that the object can be placed deep into the display, and other views are only used as visual reference objects. The position of the position is in place.
其中步骤 21所述外置设备与电脑通过设备驱动接口通讯,外置设备操纵 三維虚拟现实场景中的物体移动时, 驱动数据传输到该接口。 In the step 21, the external device communicates with the computer through the device driving interface, and when the external device manipulates the movement of the object in the three-dimensional virtual reality scene, the driving data is transmitted to the interface.
其中步骤 21 所述驱动数据通过读取外置设备与电脑通讯接口的数据获 取。 The driving data in step 21 is obtained by reading data of an external device and a computer communication interface.
在本发明一个实施例中,其中步糠 21所述可获得三个轴向驱动数据的外 置设备可以使用例如游戏操纵杆这种外部设备, 参见图 3, 外部设备的工作 操作方法和状态: In an embodiment of the present invention, the external device in which the three axial driving data can be obtained as described in step 21 can use an external device such as a joystick, see FIG. 3, the working method and state of the external device:
首先定义屏幕空间:屏幕所在平面为横向 X轴和纵向 Y轴,垂直屏幕所 在平面为 Z轴; First define the screen space: the plane where the screen is located is the horizontal X axis and the vertical Y axis, and the vertical screen is the Z axis;
处在操控物体状态的操纵杆在真实物理空间沿水平面方向移动的搡作定 义为三維虚拟现实场景中的物体在三維虚拟现实场景水平面移动, 其中所述 三維虚似现实场景水平面为以上所定义的屏幕空间的 X轴和 Z轴所在平面; 处在操控物体状态的操纵杆在真实物理空间沿垂直水平面方向移动的操 作定义为三維虚拟现实场景的物体在三維虚拟现实场景垂直水平面方向移 动, 其中所述三維虚拟现实场景垂直水平面方向为以上所定义的屏幕空间的 Y轴; The action of the joystick that controls the state of the object moving in the real physical space along the horizontal plane is defined as the movement of the object in the three-dimensional virtual reality scene in the horizontal plane of the three-dimensional virtual reality scene, wherein the three-dimensional virtual reality surface level is defined above. The plane of the X-axis and the Z-axis of the screen space; the operation of the joystick in the state of the controlled object moving in the direction of the vertical horizontal plane in the real physical space is defined as the movement of the object of the three-dimensional virtual reality scene in the vertical horizontal direction of the three-dimensional virtual reality scene, wherein The vertical horizontal direction of the three-dimensional virtual reality scene is the Y-axis of the screen space defined above;
将点选中物体的同时旋转操 杆定义为选中物体且旋转。 The rotary arm is defined as the selected object and rotated while the object is selected.
在本发明的使用操纵杆这个实施例中,步骤 22的具体实现方法,参见图 In the embodiment of the present invention using the joystick, the specific implementation method of step 22 is shown in the figure.
4: 4:
401:其中步骤 22所述驱动数据从步骤 21获取时是 6元数组:数組的前 三位元素对应三維虚拟现实场景物体的移动偏移向量, 数组的后三位元素对 应三维虚拟现实场景物体的旋转係移向量, 以上所述数组的每个元素都是整 数值。 401: The driving data obtained in step 22 is a 6-element array obtained from step 21: the first three elements of the array correspond to a moving offset vector of the three-dimensional virtual reality scene object, and the last three elements of the array correspond to the three-dimensional virtual reality scene object. The rotation shifts the vector, and each element of the array described above is an integer value.
其中步骤 22所述转换上述驱动数据为三个轴向的运动偏移量,包括移动 偏移量和旋转偏移量,是因为在三維场景中移动和旋转量可以使用浮点数(即
带小数点的数据) 来实现更加精确的位置操作, 经过此转换步骤, 整数值的 偏移量经过计算可以转换为更加精确的带浮点数的偏移量。 以这个具体实旒 例来计算, 具体为: The step 22 converts the driving data into three axial motion offsets, including a moving offset and a rotational offset, because the amount of movement and rotation in the three-dimensional scene can use floating point numbers (ie, With decimal point data) to achieve a more precise position operation, after this conversion step, the integer value offset can be converted to a more accurate offset with floating point number. Calculated by this concrete example, specifically:
现假设外置设备操纵杆沿 X轴方向的移动量为 X, 则正方向移动的数值 为 x,沿负方向上移动的数值为 -X,将其表示为 mx (則 mx可为正数也可以为 负数和 0); 同理假设外置设备沿 Y轴方向的移动量表示为 my (则 my可为正 数也可以为负数和 0);同理假设外置设备沿 Z轴方向的移动量表示为 mz (則 mz可为正数也可以为负数和 0); Now assume that the amount of movement of the external device joystick in the X-axis direction is X, then the value in the positive direction is x, and the value in the negative direction is -X, which is expressed as mx (then mx can be positive) It can be negative and 0); Similarly, it is assumed that the amount of movement of the external device along the Y-axis direction is expressed as my (then can be positive or negative and 0); similarly, the movement of the external device along the Z-axis is assumed. The quantity is expressed as mz (then mz can be positive or negative and 0);
假设外置设备沿 X轴的旋转量为 X, 則向右旋转的数值为 X, 向左旋转 的数值为 -X, 将其表示为 rx (則 rx可为正数也可以为负数和 0); 同理假设外 置设备沿 Y轴的旋转量表示为 ry (則 iy可为正数也可以为负数和 0); 同理假 设外置设备沿 Z轴的旋转量表示为 rz (則 rz可为正数也可以为负数和 0); Assuming that the amount of rotation of the external device along the X axis is X, the value rotated to the right is X, the value rotated to the left is -X, and it is represented as rx (then rx can be positive or negative and 0) Similarly, assume that the amount of rotation of the external device along the Y axis is expressed as ry (then iy can be positive or negative and 0); similarly, the amount of rotation of the external device along the Z axis is expressed as rz (then rz can Positive numbers can also be negative and 0);
402: 将数组的前三个元素用移动偏移向量 M (mx, my, mz) 表示; 402: The first three elements of the array are represented by a moving offset vector M (mx, my, mz);
403 : 假设外置设备移动的最大量程是 L, 移动偏移向量 /外置设备的最 大量程, 即获得移动偏移百分比 M' =M L; 403: Assume that the maximum range of the external device movement is L, the moving offset vector / the maximum amount of the external device, that is, the moving offset percentage M' = M L;
404: 假设场景尺寸是 S, 移动偏移百分比 /场景尺寸, 即获得修正移动 偏移向量 IT = IT XS; 404: Suppose the scene size is S, the moving offset percentage / scene size, that is, the corrected moving offset vector is obtained IT = IT XS;
405:将毫米单位转换成米单位的修正值, 因为在三維虚拟现实场景中单 位一般为米, 修正移动偏移向量 X 0. 001,即获得最终的移动偏移向量 M* = 405: Convert the millimeter unit into the correction value of the meter unit, because the unit is generally meters in the three-dimensional virtual reality scene, and the motion offset vector X 0. 001 is corrected, that is, the final motion offset vector is obtained.
M"即是最终需要的对应三維虚拟现实场景的移动偏移量。 M" is the moving offset of the corresponding 3D virtual reality scene that is ultimately needed.
406: 将数组的后三个元素用旋转偏移向量 R (rx, ry, rz) 表示; 406: The last three elements of the array are represented by a rotation offset vector R (rx, ry, rz);
407: 假设外置设备旋转的最大量程是 T, 旋转偏移向量 /外置设备的最 大量程, 即获得旋转偏移百分比 R' =R/T; 407: Assume that the maximum range of rotation of the external device is T, the rotation offset vector / the maximum amount of the external device, that is, the percentage of the rotation offset is obtained R' = R / T;
408: R' 即是最终需要的对应三維虚拟现实场景的旋转偏移量。 408: R' is the rotational offset of the corresponding 3D virtual reality scene that is ultimately needed.
在本发明的另一个实施例中,其中步骤 21所述可获得三个轴向驱动数据 的外置设备也可以使用三維鼠标这种外部设备, 参见图 5, 外部设备的工作 操作方法和状态: In another embodiment of the present invention, the external device in which the three axial driving data can be obtained in step 21 can also use an external device such as a three-dimensional mouse. Referring to FIG. 5, the working method and state of the external device:
首先我们定义屏幕空间:屏幕所在平面为横向 X轴和纵向 Y轴,垂直屏
幕所在平面为 Z轴; First we define the screen space: the plane of the screen is the horizontal X axis and the vertical Y axis, vertical screen The plane of the curtain is the Z axis;
将不点选中物体的同时平滑移动鼠标的操作定义为移动光标且不移动物 体; The operation of smoothly moving the mouse while not selecting the object is defined as moving the cursor and not moving the object;
将按下鼠标左键选中物体的同时移动定义为选中三维虛拟现实场景中的 物体且所述物体在三維虚拟现实场景水平面移动, 其中所述三維虚拟现实场 景水平面为以上所定义的屏幕空间的 X轴和 Z轴所在平面; The simultaneous movement of the selected object by pressing the left mouse button is defined as the object in the selected three-dimensional virtual reality scene and the object moves in the horizontal plane of the three-dimensional virtual reality scene, wherein the horizontal plane of the three-dimensional virtual reality scene is the X of the screen space defined above. The plane in which the axis and the Z axis are located;
将按下鼠标右键选中物体的同时移动定义为选中三維虚拟现实场景中的 物体且所述物体在三维虚拟现实场景中旋转; The simultaneous movement of the selected object by pressing the right mouse button is defined as selecting an object in the three-dimensional virtual reality scene and the object is rotated in the three-dimensional virtual reality scene;
将滚动滑轮中键定义为将选中的三維虚拟现实场景中的物体在三维虚拟 现实场景中垂直水平面方向移动, 其中所述三维虚拟现实场景垂直水平面方 向为以上所定义的屏幕空间的 Y轴。 The scroll wheel middle key is defined to move the object in the selected three-dimensional virtual reality scene in a vertical horizontal direction in the three-dimensional virtual reality scene, wherein the vertical horizontal direction of the three-dimensional virtual reality scene is the Y-axis of the screen space defined above.
在本发明的使用三維鼠标这个实施例中, 步骤 22的具体实现方法, 参见 图 6: In the embodiment of the present invention using a three-dimensional mouse, the specific implementation method of step 22, see Figure 6:
601: 其中步骤 22所述三个轴向驱动数据从步骤 21获取时是四个数据包, 第一个数据包分别包含了鼠标左, 中, 右鍵状态, 状态值 0表示释放, 1表示 按下;第二个数据包表示 X轴方向的移动像素量;第三个数据包标识 Y轴方向 的移动像素量; 第四个数据包表示 Z轴方向的移动像素量。 601: wherein the three axial driving data obtained in step 22 are four data packets when acquired from step 21, the first data packet includes the left, middle, and right mouse states respectively, the state value 0 indicates release, and 1 indicates press The second packet represents the amount of moving pixels in the X-axis direction; the third packet identifies the amount of moving pixels in the Y-axis direction; and the fourth packet represents the amount of moving pixels in the Z-axis direction.
其中步 «2所述转换上述驱动数据为三个轴向的运动偏移量, 包括移动 偏移量和旋转偏移量,是因为要从像素量转换为基于三維視图窗口尺寸和速度 的偏移量。 所述转换步骤以这个具体实施例来计算, 具体为: The step of converting the above driving data into three axial motion offsets, including the moving offset and the rotational offset, is to convert from the pixel amount to the size and speed based on the three-dimensional view window. Transfer amount. The conversion step is calculated in this specific embodiment, specifically:
602: 从像素量转换为基于三維視图窗口尺寸的三个轴向偏移量: 现假设外置设备鼠标沿 X轴方向移动的像素量为 x, Y轴方向移动的像素 量为 y, 中键的滚动像素为 z; 三維視图窗口的尺寸为宽 w, 高 h: 602: Converting from the pixel amount to three axial offsets based on the size of the three-dimensional view window: It is assumed that the amount of pixels of the external device mouse moving along the X-axis direction is x, and the amount of pixels moving in the Y-axis direction is y, The scrolling pixel of the key is z; the size of the 3D view window is width w, height h:
則偏移量为: Then the offset is:
off— X = X / W; Off— X = X / W;
off_y = y/ h; Off_y = y/ h;
ofF z = z / w; 或者 off_z = z / h;
其中 Off— Z可以是 Z / W, 也可以是 Off— Z = Z I h的原因是实际应用中三維视 图窗口的宽和高的尺寸相差不大,再经过 Z移动像素量与其进行比值,其最终 结果的差別对偏移量来说是微小的, 可以忽略不计的。 ofF z = z / w; or off_z = z / h; The reason why Off-Z can be Z / W or Off-Z = ZI h is that the width and height of the three-dimensional view window are not much different in actual application, and then the ratio of the Z-moving pixel is compared with it, and finally The difference in results is small for the offset and can be ignored.
从基于三维視图窗口尺寸的三个轴向偏移量转换为基于移动速度和旋转 速度的偏移量: Converts from three axial offsets based on the dimensions of the 3D view window to offsets based on moving speed and rotational speed:
603: 移动偏移量的计算为: 603: The calculation of the movement offset is:
将基于三維视图窗口尺寸的三个轴向偏移量用向量 M(off— x,off_j,off_z) 表示; 假设移动速度为 ms, 对应三维虚拟现实场景的物体移动向量 M' =M Xms; The three axial offsets based on the size of the three-dimensional view window are represented by a vector M(off_x, off_j, off_z); assuming that the moving speed is ms, the object moving vector corresponding to the three-dimensional virtual reality scene is M' = M Xms;
M' 即是最终需要的对应三維虚拟现实场景的移动偏移量。 M' is the moving offset of the corresponding 3D virtual reality scene that is ultimately needed.
604: 判断是否按下右键; 604: Determine whether to press the right button;
605: 如果不是则旋转偏移量为 0; 605: If not, the rotation offset is 0;
606:如果是, 則表示此时物体具有旋转状态,将上述基于三维視 ®窗口 尺寸的三个轴向偏移量同时視为基于三維視图窗口尺寸的三个轴向的旋转偏 移量。 606: If yes, it means that the object has a rotating state at this time, and the three axial offsets based on the size of the three-dimensional view window are simultaneously regarded as the three axial rotational offsets based on the size of the three-dimensional view window.
则旋转偏移量的计算为: Then the rotation offset is calculated as:
将基于三维視图窗口尺寸的三个轴向偏移量用向量 M(off_rx, off— ry, off— rz)表示;假设旋转速度为 rs,对应三維虚拟现实场景的物体旋转偏移向量 R=MXrs; The three axial offsets based on the size of the three-dimensional view window are represented by a vector M (off_rx, off-ry, off-rz); assuming that the rotational speed is rs, the object rotation offset vector corresponding to the three-dimensional virtual reality scene is R= MXrs;
R即是最终需要的对应三维虚拟现实场景的旋转偏移量。 R is the rotational offset of the corresponding 3D virtual reality scene that is ultimately needed.
其中步骤 23判断从步骤 22获取的最终三維虚拟现实场景的运动偏移量, 包括移动偏移量和旋转偏移量, 对最终偏移量不为 0的物体进行 X轴, y轴, z 轴三个轴向分量的移动和旋转以实现对物体空间位置和角度的更新; 对于物 体空间位置和角度的更新, 可以使用在各种三維虚拟现实场景建模软件中经 常使用的方法, 具体如: Step 23 determines the motion offset of the final three-dimensional virtual reality scene acquired from step 22, including the motion offset and the rotation offset, and performs X-axis, y-axis, and z-axis on the object whose final offset is not zero. The movement and rotation of the three axial components to achieve the update of the spatial position and angle of the object; for the updating of the spatial position and angle of the object, methods commonly used in various three-dimensional virtual reality scene modeling software can be used, such as:
移动: translateO函数实现。 Move: translateO function implementation.
旋转: 三个函数: X轴: itch (x) ; y轴-' yaw(y); z轴.' roll (z) 。 Rotation: Three functions: X axis: itch (x) ; y axis - ' yaw (y); z axis. ' roll (z) .
对于这些函数的实现细节属于数学和计算机图形学理论的现有技术, 在 此不再赘迷。
其中步骤 23对运动偏移量不为 0的物体进行三个轴向分量的运动具体在 三维视 S和其他视 S中进行显示, 即除了三維視 ®窗口, 其他視图窗口: 以 选中物体为中心的其他視图, 如顶視图, 左視图, 后视图同时根据选中物体 的运动偏移量进行位置调整, 这样在移动选中物体时候, 子视图中所显示的 内容跟随变化, 操作者可以不断确认物体摆位操作位置是否到位。 The implementation details of these functions belong to the prior art of mathematics and computer graphics theory and are no longer fascinating. Step 23: The motion of the three axial components of the object whose motion offset is not 0 is specifically displayed in the 3D view S and the other view S, that is, in addition to the 3D view® window, other view windows: Other views of the center, such as the top view, the left view, and the rear view, are simultaneously adjusted according to the motion offset of the selected object, so that when the selected object is moved, the content displayed in the sub-view follows the change, and the operator can Constantly confirm whether the position of the object is in place.
本发明提供了一种在三维虚拟现实场景中的物体空间摆位装置。 参见图 The invention provides an object space arranging device in a three-dimensional virtual reality scene. See picture
7, 该装置具体包括: 7, the device specifically includes:
读取单元: 用于从设备驱动接口读取可获取三个轴向驱动数据的外置设 备操纵三維虚拟現实场景中的物体的驱动数据, 并将所述驱动数据发送至转 换单元; a reading unit: configured to read, from the device driving interface, an external device that can acquire three axial driving data to manipulate driving data of an object in the three-dimensional virtual reality scene, and send the driving data to the conversion unit;
转换单元: 用于将所迷駔动数据转换为三维虚拟现实场景的物体最终的 三个轴向的运动偏移量, 并将所述最终三个轴向的运动偏移量发送至摆位单 元; Conversion unit: the final three axial motion offsets of the object used to convert the falsified data into a three-dimensional virtual reality scene, and send the final three axial motion offsets to the aligning unit ;
摆位单元:用于对运动偏移量不为 0的物体进行三个轴向分量的运动以实 现对物体空间位置和角度的更新。 Positioning unit: Used to perform three-axis component motion on an object with a motion offset other than 0 to achieve an update of the spatial position and angle of the object.
其中读取单元所述外置设备可以是游戏搡級杆或者三维鼠标。 The external device of the reading unit may be a game level bar or a three-dimensional mouse.
其中转换单无所述转换步猓同以上方法发明实施例中的转换步骤相同, 在此不再赘迷。 The conversion step without the conversion step is the same as the conversion step in the embodiment of the above method, and is no longer obscured.
需要说明的是, 在本文中, 诸如第一和第二等之类的关系木语仅仅用来 将一个实体或者操作与另一个实体或操作区分开来, 而不一定要求或者暗示 这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语"包括"、 "包含"或者其任何其他变体意在涵盖非排他性的包含, 从而使得包括一系 列要素的过程、 方法、 物品或者设备不仅包括那些要素, 而且还包括没有明 确列出的其他要素, 或者是还包括为这种过程、 方法、 物品或者设备所固有 的要素。 在没有更多限制的情况下, 由语句 "包括一个…," "限定的要素, 并不排除在包括所述要素的过程、 方法、 物品或者设备中还存在另外的相同 要素。
以上所述仅为本发明的较佳实施例而已, 并非用于限定本发明的保护范 围。 凡在本发明的精神和原則之内所作的任何修改、 等同替换、 改进等, 均 包含在本发明的保护范围内。
It should be noted that, in this context, relationship language such as first and second is only used to distinguish one entity or operation from another entity or operation, and does not necessarily require or imply these entities or operations. There is any such actual relationship or order between them. Furthermore, the terms "including", "comprising" or "comprising" or "comprising" are intended to encompass a non-exclusive inclusion, such that a process, method, article, or device that includes a plurality of elements includes not only those elements but also Other elements, or elements that are inherent to such a process, method, item, or device. In the absence of further limitations, the terms "comprising a", "comprising", and <RTIgt;</RTI><RTIgt;</RTI><RTIgt;</RTI> do not exclude the presence of additional identical elements in the process, method, article, or device. The above is only the preferred embodiment of the present invention and is not intended to limit the scope of the present invention. Any modifications, equivalents, improvements, etc. made within the spirit and scope of the invention are intended to be included within the scope of the invention.
Claims
1、一种在三維虚拟现实场景中的物体空间摆位方法,其特征在于,包括:1. A method of spatial placement of objects in a three-dimensional virtual reality scene, which is characterized by:
1.1、获取可获得三个轴向驱动数据的外置设备操控三維虚拟现实场景中 的物体产生的驱动数据; 1.1. Obtain the driving data generated by an external device that can obtain three-axis driving data to control objects in a three-dimensional virtual reality scene;
1.2、 转换上述驱动数据为三个轴向的运动偏移量; 1.2. Convert the above drive data into motion offsets in three axes;
1.3、 判断运动偏移量是否为 0, 对运动偏移量不为 0的物体进行三个轴 向分量的运动以实现摆位。 1.3. Determine whether the motion offset is 0, and perform three axial component movements on the object whose motion offset is not 0 to achieve positioning.
2、根据权利要求 1所述的方法, 其特征在于, 所述驱动数据是通过外置 设备在三維视图中操作物体产生的。 2. The method according to claim 1, characterized in that the driving data is generated by operating an object in a three-dimensional view through an external device.
3、 根据权利要求 1所述的方法, 其特征在于, 步骤 1.3对运动偏移量不 为 0 的物体进行三个轴向分量的运动具体在三维视图和其他视图中进行显 示。 3. The method according to claim 1, characterized in that step 1.3 performs the movement of three axial components on the object whose movement offset is not 0, and specifically displays the movement in a three-dimensional view and other views.
4、根据权利要求 1所述的方法, 其特征在于, 所述外置设备具体为操纵 杆。 4. The method according to claim 1, characterized in that the external device is a joystick.
5、根据权利要求 4所述的方法, 其特征在于, 所述驱动数据的获取是通 过操纵杆具体以下操作获取的: 5. The method according to claim 4, characterized in that the driving data is obtained through the following specific operations of a joystick:
处在操控物体状态的操纵杆在真实物理空间沿水平面方向移动的操作定 义为三维虚拟现实场景中的物体在三維虚拟现实场景水平面移动; The operation of the joystick in the state of controlling an object moving along the horizontal plane in the real physical space is defined as the movement of the object in the three-dimensional virtual reality scene on the horizontal plane of the three-dimensional virtual reality scene;
处在操控物体状态的操纵杆在真实物理空间沿垂直水平面方向移动的操 作定义为三維虚拟现实场景的物体在三維虛拟现实场景垂直水平面方向移 动; The operation of the joystick in the state of controlling an object moving in the vertical and horizontal direction in the real physical space is defined as the movement of the object in the three-dimensional virtual reality scene in the vertical and horizontal direction of the three-dimensional virtual reality scene;
将点选中物体的同时旋转操纵杆定义为选中物体且旋转。 Clicking on the selected object while rotating the joystick is defined as selecting the object and rotating it.
6、 根据权利要求 4所述的方法, 其特征在于, 步骤 1.2转换上述驱动数 据为三个轴向的运动偏移量具体为: 6. The method according to claim 4, characterized in that step 1.2 converts the above-mentioned driving data into motion offsets in three axes, specifically:
所述运动偏移量分为移动偏移量和旋转偏移量; The motion offset is divided into a movement offset and a rotation offset;
所述移动偏移量通过以下算式获得: The movement offset is obtained by the following formula:
所述移动偏移量=修正移动偏移向量 X0. 001; The movement offset = corrected movement offset vector X0.001;
其中, 移动偏移百分比=移动偏移向量 /外置设备的最大量程; Among them, the movement offset percentage = the movement offset vector / the maximum range of the external device;
修正移动偏移向量 =移动偏移百分比 /场景尺寸; Corrected movement offset vector = movement offset percentage / scene size;
所述旋转偏移量通过以下算式获得:
所述旋转偏移量=旋转偏移百分比; The rotation offset is obtained by the following formula: The rotation offset = rotation offset percentage;
其中, 旋转偏移百分比=旋转偏移向量 /外置设备的最大量程。 Among them, rotation offset percentage = rotation offset vector / maximum range of the external device.
7、根据权利要求 1所述的方法, 其特征在于, 所述外置设备具体为三維 鼠标。 7. The method according to claim 1, characterized in that the external device is specifically a three-dimensional mouse.
8、根据权利要求 7所述的方法, 其特征在于, 所述驱动数据的获取是通 过三維鼠标具体以下操作获取的: 8. The method according to claim 7, wherein the driving data is obtained through the following operations of a three-dimensional mouse:
将不点选中物体的同时平滑移动鼠标的操作定义为移动光标且不移动物 体; The operation of moving the mouse smoothly without clicking on the selected object is defined as moving the cursor without moving the object;
将按下鼠标左键选中物体的同时移动定义为选中三維虚拟现实场景中的 物体且所述物体在三维虚拟现实场景水平面移动; The simultaneous movement of selected objects by pressing the left mouse button is defined as selecting an object in a three-dimensional virtual reality scene and moving the object in the horizontal plane of the three-dimensional virtual reality scene;
将按下鼠标右键选中物体的同时移动定义为选中三维虚拟现实场景中的 物体且所述物体在三維虚拟现实场景中旋转; The movement of the selected object while pressing the right button of the mouse is defined as selecting an object in the three-dimensional virtual reality scene and the object rotating in the three-dimensional virtual reality scene;
将滚动滑轮中键定义为将选中的三维虚拟现实场景中的物体在三维虚拟 现实场景中垂直水平面方向移动。 The middle button of the scroll wheel is defined to move the selected object in the three-dimensional virtual reality scene in the vertical and horizontal direction in the three-dimensional virtual reality scene.
9、 根据权利要求 7所述的方法, 其特征在于, 步骤 1.2转换上述驱动数 据为三个轴向的运动偏移量具体为: 9. The method according to claim 7, characterized in that step 1.2 converts the above-mentioned driving data into motion offsets in three axes, specifically:
所述运动偏移量分为移动偏移量和旋转偏移量; The motion offset is divided into a movement offset and a rotation offset;
所述移动偏移量通过以下步骤获得: The movement offset is obtained through the following steps:
从像素量转换为基于三維视图窗口尺寸的三个轴向移动偏移量: 横轴坐标=横轴移动的像素量 /三維视图窗口宽; Convert from pixel amount to three axial movement offsets based on the size of the 3D view window: Horizontal axis coordinate = pixel amount moved on the horizontal axis / width of the 3D view window;
纵轴坐标=纵轴移动的像素量 /三维视图窗口高; Vertical axis coordinate = amount of pixels moved along the vertical axis/height of the 3D view window;
垂直轴坐标 =垂直轴移动的像素量 /三維视图窗口宽, 或者垂直轴坐标= 垂直轴移动的像素量 /三维视图窗口高; Vertical axis coordinate = pixel amount moved on the vertical axis / width of the 3D view window, or vertical axis coordinate = pixel amount moved on the vertical axis / height of the 3D view window;
从基于三维视图窗口尺寸的三个轴向偏移量转换为基于移动速度的移动 偏移量: Convert from three axial offsets based on the 3D view window size to movement offsets based on movement speed:
三个轴向偏移向量由横轴坐标, 纵轴坐标, 垂直轴坐标组成; The three axial offset vectors consist of horizontal axis coordinates, vertical axis coordinates, and vertical axis coordinates;
所述移动偏移量=三个轴向偏移向量 X移动速度; The movement offset = three axial offset vectors X movement speed;
判断是否为旋转状态, 如果不是, 最终的旋转偏移量为 0, 如果是, 所述旋转偏移量通过以下算式获得:
所迷旋转偏移量=所述三个轴向偏移向量 X旋转速度。 Determine whether it is a rotating state. If not, the final rotation offset is 0. If so, the rotation offset is obtained by the following formula: The rotational offset = the three axial offset vectors X rotational speed.
10、 一种在三维虚拟现实场景中的物体空间摆位装置, 其特征在于, 该 装置具体包括: 10. An object space positioning device in a three-dimensional virtual reality scene, characterized in that the device specifically includes:
读取单元: 用于从设备驱动接口读取可获取三个轴向驱动数据的外置设 备搡纵三維虚拟现实场景中的物体的驱动数据, 并将所述驱动数据发送至转 换单元; Reading unit: used to read the drive data of an external device that can obtain three-axis drive data from the device driver interface to manipulate objects in the three-dimensional virtual reality scene, and send the drive data to the conversion unit;
转换单元: 用于将所述驱动数据转换为三维虚拟现实场景的物体最终的 三个轴向的运动偏移量, 并将所述最终三个轴向的运动偏移量发送至摆位单 元; Conversion unit: used to convert the driving data into the final three-axis motion offsets of the object in the three-dimensional virtual reality scene, and send the final three-axis motion offsets to the positioning unit;
摆位单元: 用于对运动偏移量不为 0的物体进行三个轴向分量的运动以 实现对物体空间位置和角度的更新。 Positioning unit: Used to move objects whose motion offset is not 0 in three axial components to update the spatial position and angle of the object.
11、根据权利要求 10所述的装置, 其特征在于, 所述外置设备可以是搡 纵杆或者三維鼠标。 11. The device according to claim 10, characterized in that the external device may be a joystick or a three-dimensional mouse.
12、 根据权利要求 1-9任意一项所述的方法, 其特征在于所述三个轴向 为: 屏幕所在平面横向 X轴和纵向 Y轴, 垂直屏幕所在平面 Z轴。
12. The method according to any one of claims 1 to 9, characterized in that the three axes are: the horizontal X axis and the longitudinal Y axis of the plane where the screen is located, and the vertical Z axis of the plane where the screen is located.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210167935.XA CN102722908B (en) | 2012-05-25 | 2012-05-25 | Method for position and device are put in a kind of object space in three-dimension virtual reality scene |
CN201210167935.X | 2012-05-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013173948A1 true WO2013173948A1 (en) | 2013-11-28 |
Family
ID=46948654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2012/001258 WO2013173948A1 (en) | 2012-05-25 | 2012-09-12 | Method and device for spatially positioning object in three-dimensional virtual reality scene |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102722908B (en) |
WO (1) | WO2013173948A1 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722908B (en) * | 2012-05-25 | 2016-06-08 | 任伟峰 | Method for position and device are put in a kind of object space in three-dimension virtual reality scene |
CN106610718B (en) * | 2016-11-11 | 2020-09-11 | 宇龙计算机通信科技(深圳)有限公司 | Method and device for adjusting position of object in virtual reality and virtual reality device |
CN106488205A (en) * | 2016-11-17 | 2017-03-08 | 四川长虹电器股份有限公司 | A kind of projection arrangement for being automatically obtained image mosaic fusion and method |
CN106652712A (en) * | 2016-12-15 | 2017-05-10 | 山东数字人科技股份有限公司 | Display system and display method for human model data under virtual reality |
CN107092357B (en) * | 2017-04-21 | 2021-05-28 | 厦门中智信系统集成有限公司 | Holographic real-world building equipment management system based on virtual reality |
CN108629828B (en) * | 2018-04-03 | 2019-08-13 | 中德(珠海)人工智能研究院有限公司 | Scene rendering transition method in the moving process of three-dimensional large scene |
CN110827412A (en) * | 2018-08-09 | 2020-02-21 | 北京微播视界科技有限公司 | Method, apparatus and computer-readable storage medium for adapting a plane |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1809801A (en) * | 2003-06-23 | 2006-07-26 | 亚比恩科技私人有限公司 | Computer input device tracking six degrees of freedom |
US7927216B2 (en) * | 2005-09-15 | 2011-04-19 | Nintendo Co., Ltd. | Video game system with wireless modular handheld controller |
CN102722908A (en) * | 2012-05-25 | 2012-10-10 | 任伟峰 | Object space positioning method and device in three-dimensional virtual reality scene |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4288449B2 (en) * | 1999-02-16 | 2009-07-01 | 株式会社セガ | Image display device, image processing device, and image display system |
CN101833786B (en) * | 2010-04-06 | 2011-12-28 | 清华大学 | Method and system for capturing and rebuilding three-dimensional model |
CN102110307B (en) * | 2010-12-28 | 2014-04-30 | 北京东方艾迪普科技发展有限公司 | Method for realizing real-time information wandering in three-dimensional scene |
-
2012
- 2012-05-25 CN CN201210167935.XA patent/CN102722908B/en active Active
- 2012-09-12 WO PCT/CN2012/001258 patent/WO2013173948A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1809801A (en) * | 2003-06-23 | 2006-07-26 | 亚比恩科技私人有限公司 | Computer input device tracking six degrees of freedom |
US7927216B2 (en) * | 2005-09-15 | 2011-04-19 | Nintendo Co., Ltd. | Video game system with wireless modular handheld controller |
CN102722908A (en) * | 2012-05-25 | 2012-10-10 | 任伟峰 | Object space positioning method and device in three-dimensional virtual reality scene |
Non-Patent Citations (1)
Title |
---|
YANG QING ET AL., 3D GAME PROGRAMMING, 2004, pages 240 - 259 * |
Also Published As
Publication number | Publication date |
---|---|
CN102722908A (en) | 2012-10-10 |
CN102722908B (en) | 2016-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2013173948A1 (en) | Method and device for spatially positioning object in three-dimensional virtual reality scene | |
US10438401B2 (en) | Caching in map systems for displaying panoramic images | |
TWI521469B (en) | Two - dimensional Roles Representation of Three - dimensional Action System and Method | |
EP2728548B1 (en) | Automated frame of reference calibration for augmented reality | |
JP5014706B2 (en) | Method for controlling the location of a pointer displayed by a pointing device on a display surface | |
US9268410B2 (en) | Image processing device, image processing method, and program | |
JP5959047B2 (en) | Display control system, display control method, display control program, and display control apparatus | |
JP7382994B2 (en) | Tracking the position and orientation of virtual controllers in virtual reality systems | |
CN103841442B (en) | A kind of method for controlling air mouse, air mouse and Set Top Box | |
CN102984565A (en) | Multi-dimensional remote controller with multiple input mode and method for generating TV input command | |
CN107678660B (en) | Display control device | |
US20210208699A1 (en) | Direct three-dimensional pointing using light tracking and relative position detection | |
JP2007047294A (en) | Stereoscopic image display device | |
CN102664988A (en) | Three-dimensional interaction method based on intelligent mobile phone and system thereof | |
US10080956B2 (en) | Detecting the changing position of a face to move and rotate a game object in a virtual environment | |
JP6099237B2 (en) | Display control system, display control method, display control program, and display control apparatus | |
WO2010013336A1 (en) | Three-dimensional object display controller and method thereof | |
KR101472314B1 (en) | 3D Input Method and Apparatus using Single Camera | |
JP2011215692A (en) | Three-dimensional three-degree-of-freedom rotation parameter processor | |
CN103049101B (en) | The method of positioning pointer position, system and equipment | |
WO2023073760A1 (en) | Display control system, display control method, and program | |
Islam et al. | Design of an augmented telerobotic stereo vision system and associated security concerns | |
KR20060027180A (en) | Portable device and method for reflecting into display information movements of such a portable device in 3-dimensional space | |
Daphalapurkar et al. | Motion Capture for Human-Centered Simulation Using Kinects | |
JP2024027840A (en) | Program and simulator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 12877363 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 10/03/2015) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 12877363 Country of ref document: EP Kind code of ref document: A1 |