In this paper, a novel 3D roaming algorithm considering collision detection and interaction is proposed that adopts a triangle mesh to organize and manage massive spatial data and uses a customized bounding box intersector to rapidly obtain the potential collided triangles. The proposed algorithm can satisfy the requirements of timeliness and practicability during complicated large 3D scene collision detection. Moreover, we designed a method to calculate the collision point coordinates according to the spatial position relation and distance change between the virtual collision detection sphere and triangles, with the triangle edges and three vertices being considered. Compared to the methods that use the native intersector of OpenSceneGraph (OSG) to obtain the collision point coordinates, the calculation efficiency of the proposed method is greatly improved. Usually, when there is a big split/pit in the scene, the viewpoints will fly off the scene due to the fall of the collision detection sphere, or the region interior cannot be accessed when the entrance of some local region (e.g., internal grotto) of the scene is too small. These problems are solved in this paper through 3D scene-path training and by self-adaptively adjusting the radius of the virtual collision detection sphere. The proposed 3D roaming and collision detection method applicable for massive spatial data overcomes the limitation that the existing roaming and collision detection methods are only applicable to 3D scenes with a small amount of data and simple models. It provides technical supports for freewill browsing and roaming of indoor/outdoor and overground/underground of the 3D scene in cases of massive spatial data.
[1]
Bing He,et al.
An improved method of continuous collision detection using ellipsoids
,
2009,
2009 IEEE 10th International Conference on Computer-Aided Industrial Design & Conceptual Design.
[2]
Li Chun-hua.
Research and Application of 3D Virtual City Based on Unity3D
,
2013
.
[3]
Zhang Xin-yu.
Research on Bounding Box Collision Detection in Virtual Reality Based on OSG
,
2011
.
[4]
Anthony Steed,et al.
Real-Time Collision Detection for Deformable Characters with Radial Fields
,
2019,
IEEE Transactions on Visualization and Computer Graphics.
[5]
Li Lin-cheng.
Design and Study on Virtual Simulation System about Warship Training
,
2012
.
[6]
Jane Wilhelms,et al.
Collision Detection and Response for Computer Animation
,
1988,
SIGGRAPH.
[7]
Joseph S. B. Mitchell,et al.
Efficient Collision Detection Using Bounding Volume Hierarchies of k-DOPs
,
1998,
IEEE Trans. Vis. Comput. Graph..
[8]
Ruofeng Tong,et al.
Accurate self-collision detection using enhanced dual-cone method
,
2018,
Comput. Graph..
[9]
Zhu Hui.
Virtual Roaming System Based on Unity3D
,
2012
.
[10]
Han Jun-wei.
Survey of Box-Based Algorithms for Collision Detection
,
2007
.
[11]
WilhelmsJane,et al.
Collision Detection and Response for Computer Animation
,
1988
.