DOI QR코드

DOI QR Code

유니티 게임 엔진에서의 구형 물체와 천 시뮬레이션간의 실시간 충돌 및 반응 처리 연구

REAL-TIME COLLISION RESPONSE BETWEEN CLOTH AND SPHERE OBJECT IN UNITY

  • Kim, Min Sang (Department of Computer Science, Soonchunhyang University) ;
  • Song, Wook (Department of Computer Science, Soonchunhyang University) ;
  • Choi, Yoo-Joo (Department of Newmedia, Seoul Media Institute of Technology) ;
  • Hong, Min (Department of Computer Software Engineering, Soonchunhyang University)
  • 투고 : 2018.08.27
  • 심사 : 2018.10.02
  • 발행 : 2018.12.31

초록

최근 컴퓨터 하드웨어의 성능이 증가함에 따라, 휴대용 전자 기기 뿐만 아니라 개인 컴퓨터에서도 더 사실적인 컴퓨터 그래픽 물체들을 생성하고 보여줄 수 있게 되었다. 이러한 이유로, 컴퓨터 그래픽을 포함한 디지털 콘텐츠는 더 계산적 비용이 높은 사실적인 가상의 물체들을 다양한 기기에서 실시간으로 표현하는 것을 요구한다. 멀티-플랫폼에서 구동되며 컴퓨터 그래픽을 포함한 게임, 애니메이션 등의 콘텐츠의 제작을 돕기 위해서는 유니티와 언리얼 엔진과 같은 기술들이 주로 사용된다. 시뮬레이션에서 더 사실적인 가상의 물체의 움직임을 표현하기 위해서는, 가상의 물체는 다른 물체들과 충돌해야 하며 현실세계와 비슷한 반응을 보여야 한다. 하지만, 다이나믹 시뮬레이션은 많은 계산 비용을 요구하나, 대부분의 휴대용 기기들을 이러한 다이나믹 시뮬레이션을 실시간으로 제공하지 못한다. 본 논문에서는 GPGPU 계산을 이용하여 구형 물체와 실시간으로 충돌 및 반응을 수행하는 천 시뮬레이션을 제안한다. 제안된 방법이 사실적인 디지털 콘텐츠에 유용할 것으로 기대된다.

As the performance of computer hardware has been increased in recent years, more realistic computer generated objects can be created and presented in personal computers and portable digital devices as well. For this reason, digital contents, including computer graphics, require virtual objects that are more realistic and representable in real-time on various devices, thus it requires more computational costs. In order to support the production of contents including computer graphics, games, and animations on multi-platform, Unity or unreal engines are mainly used. To represent more realistic behavior of virtual objects in a simulation, a virtual object must collide with other virtual objects and present the plausible interaction, as in the real world. However, such dynamic simulation requires a large amount of computational cost, and most portable devices cannot provide these dynamic simulations in real-time. In this paper, we proposed a GPGPU computation based dynamic cloth simulation to represent collision and response with spherical object in real-time. We believe that the proposed method can be useful for readily producing realistic digital contents.

키워드

OTJBCD_2018_v19n6_53_f0001.png 이미지

(Figure 1) The Comparing Amount of Performance Between x86 CPU and NVIDIA’s GPU

OTJBCD_2018_v19n6_53_f0002.png 이미지

(Figure 2) Types of Springs Used in Mass Spring System

OTJBCD_2018_v19n6_53_f0003.png 이미지

(Figure 3) 2016 Q1 Game Engine Market Share

OTJBCD_2018_v19n6_53_f0004.png 이미지

(Figure 4) Thread Construction in Compute Shader

OTJBCD_2018_v19n6_53_f0005.png 이미지

(Figure 5) Pseudocode : Collision Detection with Sphere object

OTJBCD_2018_v19n6_53_f0006.png 이미지

(Figure 6) Image of Vector Reflected by Sphere’s Surface

OTJBCD_2018_v19n6_53_f0007.png 이미지

(Figure 7) Velocity as Ray Casted on Sphere Object

OTJBCD_2018_v19n6_53_f0008.png 이미지

(Figure 8) Radius Offset Calculated with Length of Structural Spring

OTJBCD_2018_v19n6_53_f0009.png 이미지

(Figure 9) Performance Comparison between First Method and Second method

OTJBCD_2018_v19n6_53_f0010.png 이미지

(Figure 10) Performance Comparison between CPU and GPU with Proposed Second Method

(Table 1) Environment SW and HW Specification of PC

OTJBCD_2018_v19n6_53_t0001.png 이미지

(Table 2) Parameters of Cloth Simulation

OTJBCD_2018_v19n6_53_t0002.png 이미지

(Table 3) Performed Simulation with Static Sphere Object

OTJBCD_2018_v19n6_53_t0003.png 이미지

(Table 4) Performed Simulation with Moving Sphere Object

OTJBCD_2018_v19n6_53_t0004.png 이미지

참고문헌

  1. Rommel Garcia, "GPU: The Beast In Data Centers", 2017 [Internet] https://www.slideshare.net/RommelGarcia2/gpu-101-the-beast-in-data-centers
  2. Hartmann, Gustavo, Geoff Stead, and Asi DeGani. "Cross-platform mobile development." Mobile Learning Environment, Cambridge 16.9 (2011): 158-171.
  3. Cheng, H. (2009). Interactive Cloth Simulation. Science (pp. 1-8).
  4. Xavier provot, "Deformation Constraints in a Mass-Spring Model to Describe Rigid Cloth Behavior", Graphics Interface, pp. 147-155, 1995.
  5. O'Connor, Corey, and Keith Stevens. "Modeling cloth using mass spring systems." Appl. Soft. Comput 12 (2003): 266-273.
  6. Unity, "Products", [Internet] https://unity3d.com/unity
  7. Unity, "Company Facts", 2017 [Internet] https://unity3d.com/kr/public-relations
  8. Owens, J. D., Luebke, D., Govindaraju, N., Harris, M., Kruger, J., Lefohn, A. E., & Purcell, T. J. (2007, March). A survey of general-purpose computation on graphics hardware. In Computer graphics forum (Vol. 26, No. 1, pp. 80-113). Blackwell Publishing Ltd.
  9. Boyd, Chas. "The DirectX 11 compute shader." ACM SIGGRAPH. Cite page 25 (2008).
  10. Unity Documentation, "Compute Shader", 2017, https://docs.unity3d.com/Manual/ComputeShaders.html
  11. MSDN, "numthreads", [INTERNET] https://msdn.microsoft.com/en-us/library/windows/desktop/ff471442(v=vs.85).aspx
  12. Davis, Philip J., and Philip Rabinowitz, "Methods of numerical integration," Courier Corporation, 2007.
  13. Owens, J. D., Houston, M., Luebke, D., Green, S., Stone, J. E., & Phillips, J. C. (2008). GPU computing. Proceedings of the IEEE, 96(5), 879-899. https://doi.org/10.1109/JPROC.2008.917757

피인용 문헌

  1. 디지털 트윈을 적용한 고감도 충돌 시뮬레이션 개발을 위한 연구 vol.16, pp.4, 2018, https://doi.org/10.15683/kosdi.2020.12.31.813