Отделение Unity DOTS Physics в Standalone модуль
Прежде всего, весь функционал написан и находится в открытом доступе, а именно в пакете com.unity.physics (не путать c modules.physics), вам требуется его портировать.
Необходимо вынести DOTS Physics в отдельный модуль не требующий Entity, Component и System для работы. С самой симуляцией всё просто, выносится очень легко, основная проблема с портированием и переносом функционала по конвертированию сущностей Unity (PhysicsBodyAuthoring, PhysicsShapeAuthoring) в представления для DOTS Physics.
В итоге должны быть реализованы следующие сущности:
- PhysicsSimulation (Объединяет в себе Simulation и PhysicsWorld из DOTS и имеет публичный метод Tick принимающий deltaTime и состояние физического мира)
- StaticBodiesConverter – вероятнее всего MonoBehaviour компонент конвертирующий, например, своих потомков с PhysicsBodyAuthoring, PhysicsShapeAuthoring компонентами в сущности для DOTS Physics.
В системах от Unity (в которых уже реализован весь требуемый функционал) повсеместно используются кеши, NativeCollections и Burst, по возможности нужно сохранять подобный подход при разработке.
Если у вас будет иные варианты решения от предложенных с большой радостью ознакомимся и примем их.
Срок выполнения – максимально сжатые. Если вы понимаете что за неделю не сможете показать почти готовую разработку, то к сожалению нам это совершенно не подойдет.
На всякий случай хочется выделить момент, что все права на разработку и ваш код перейдут нам и делиться кодом и выкладывать в Open Source будет нельзя.