37 lines
1.3 KiB
Python
37 lines
1.3 KiB
Python
# server.py
|
|
import time
|
|
import argparse
|
|
|
|
import pybullet as p
|
|
import pybullet_data
|
|
|
|
|
|
def main(type="SHARED_MEMORY_SERVER"):
|
|
# Подключаемся к графическому серверу в режиме SHARED_MEMORY_SERVER
|
|
# physicsClient = p.connect(p.SHARED_MEMORY_SERVER)
|
|
physicsClient = p.connect(getattr(p, type))
|
|
print(f"start pybullet ph client {physicsClient}")
|
|
# Настраиваем среду
|
|
p.setAdditionalSearchPath(pybullet_data.getDataPath())
|
|
p.setGravity(0, 0, -9.81, physicsClientId=physicsClient)
|
|
|
|
while True:
|
|
# Основной цикл физического движка
|
|
p.stepSimulation()
|
|
time.sleep(30 * 0.001)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
# Парсер аргументов командной строки
|
|
parser = argparse.ArgumentParser(description="Запуск PyBullet сервера.")
|
|
parser.add_argument(
|
|
"--test", action="store_true", help="Запустить сервер в режиме GUI_SERVER"
|
|
)
|
|
|
|
args = parser.parse_args()
|
|
|
|
# Если передан аргумент --test, устанавливаем тип подключения SHARED_MEMORY_SERVER
|
|
connection_type = "GUI_SERVER" if args.test else "SHARED_MEMORY_SERVER"
|
|
connection_type = "SHARED_MEMORY_SERVER"
|
|
main(connection_type)
|