물리효과 기반 게임에서 순간적으로 의도한 물리효과가 발생하지 않을때 Auto Sync Transforms 효과 체크 고려할것.

개체들끼리 물리적인 접촉이 일어날 시에 순간적으로 빠르게 접촉하고 벗어나는 경우 의도하던 효과가 발생하지 않는 경우에(예를들어 oncollisionstay2d 등을 활용하였는데 순간적으로 지나쳐가며 해당 동작이 제대로 동작하지 않을때), Project Settings 의 Physics 2D 설정에서 Auto Sync Transforms 설정을 생각해볼것.
해당 내용에 대해서는 아래 GPT 답변을 참고할것.


Unity Physics 2D 옵션 중 "Auto Sync Transforms"는 Rigidbody2D 컴포넌트의 옵션 중 하나입니다. 이 옵션이 체크되면 Rigidbody2D의 변환(Transform) 변경이 물리 시스템과 동기화됩니다. 이 옵션의 동작에 대한 설명은 다음과 같습니다:

  1. Auto Sync Transforms (자동 동기화):
    • Rigidbody2D의 transform.position, transform.rotation, transform.localScale 등의 속성이 변경될 때, 이 옵션이 체크되어 있으면 이 변화가 물리 시스템에 즉시 반영됩니다.
    • Rigidbody2D의 위치, 회전, 크기 등이 변경되면 이를 즉시 물리 엔진에게 알려주어 해당 변화가 다음 물리 업데이트에서 고려됩니다.
  2. Auto Sync Transforms 체크 시의 동작:
    • Rigidbody2D의 transform 속성이 변경되면 Unity는 해당 변화를 즉시 물리 시스템에 전파합니다.
    • 이는 주로 Rigidbody2D를 직접 제어하거나 외부 스크립트 등에서 transform을 조작할 때 사용됩니다.
  3. Auto Sync Transforms 체크하지 않은 경우:
    • Rigidbody2D의 transform 속성이 변경되어도 물리 시스템에 즉시 반영되지 않습니다.
    • 대신, 다음 물리 업데이트 사이클에서 해당 변화가 고려됩니다. 이 경우, 물리 시뮬레이션의 업데이트 주기에 따라 지연이 발생할 수 있습니다.
  4. 사용 사례:
    • Auto Sync Transforms를 체크하면 Rigidbody2D를 직접 제어하거나, 특정 조건에서 transform을 변경하는 상황에서 물리 시스템과의 동기화를 보장할 수 있습니다.

이 옵션을 적절히 활용하면 Rigidbody2D의 변환을 보다 정확하게 제어할 수 있습니다. 하지만 과도한 빈번한 변환 업데이트는 성능 문제를 일으킬 수 있으므로 주의가 필요합니다.

+++++++

하지만 이에 대해서 ,

위와 같이 퍼포먼스에 영향을 미쳐서 권장되지 않는 설정으로 보여짐.

  Comments,     Trackbacks