유니티로 공과 공끼리 충돌하는 게임을 만들고 있음.
이 게임에서 공은 공끼리 충돌할 때는 서로 충돌을 감지할뿐 서로 지나치며 경로에 영향을 주지 않음.
하지만 이와 달리 벽과 충돌할 때는 경로에 영향을 주는데 공이 벽에 충돌할 때는 거울 반사처럼 튕겨내게 만들고 싶음.
공끼리 충돌하면서 경로에 영향을 주지 않으려면 콜라이더의 isTrigger를 켜야하고 벽에 부딫힐 때 거울 반사를 구현하기 위해서 Collusion 정보를 가져와 isTrigger를 꺼야했음.
매트릭스를 사용해도 서로 지나치는 건 되도 서로 충돌은 감지하지 않아 결국 일단 공에 2개의 콜라이더를 부착하고 하나는 벽을, 하나는 공 충돌을 감지하도록 구현했음. 이렇게 구현하니 한 오브젝트에 2개의 콜라이더가 사용되니 나중에 아주 많은 양의 공을 쓸 때 문제가 생길 거같아서 다른 방법이 있는지 알고 싶음.
벽만 충돌되게 만들고, 공이 되게 많아질거라면 공끼리 충돌은 Job 돌려서 Range 안에 들어오는 공 있는지 돌리면 될 듯
https://github.com/Unity-Technologies/EntityComponentSystemSamples/blob/master/EntitiesSamples/Assets/Tutorials/Jobs/README.md#step-4---solution-with-a-parallel-job-and-a-smarter-algorithm
소스 코드를 뜯을 수 있다면 커스터마이즈하면 되는데 유니티 물리 엔진 구현상 그게 안될거임 근데 네가 말하는 상황에서 대부분은 큰 문제가 안될거라고도 생각함
레이어를 설정하는 건 안되나? Ontriggerenter에서 조건문 걸어서 그 공의 레이어들은 무시하도록 하는 거