И я пытаюсь изменить вид симуляции камеры по умолчанию, но у меня возникла проблема в этой работе.
Мой проект состоит из файлов и папок, как показано ниже, и при сборке и запуске проблем нет.
|- build
|- cmake
|- include
|- mujoco
|- array_safety.h
|- ...
|- simulate.h
|- model
|- assets
|- robot.xml
|- src
|- glfw_adpater.cc
|- ...
|- main.cc
|- simulate.cc
|- CMakeLists.txt
Я пытаюсь изменить вид симуляции камеры по умолчанию, как я уже говорил.
Итак, я попытался изменить код main.cc, как показано ниже: но вид камеры не меняется.
(Я говорил о проблеме «как изменить угол камеры»).
- main.cc
{
// ...
mjvCamera cam;
mjv_defaultCamera(&cam);
//*********************** I added code here ********************
double viewer[] = { -90.95, -6.25, 1.85, -0.089, 0.001, 0.102 };
cam.azimuth = viewer[0];
cam.elevation = viewer[1];
cam.distance = viewer[2];
cam.lookat[0] = viewer[3];
cam.lookat[1] = viewer[4];
cam.lookat[2] = viewer[5];
//***************************************************************
mjvOption opt;
// ...
}
Когда я создаю этот код и проверяю значения cam в Simulate.cc, обнаруживается, что измененное значение не отражается.
- RenderLoop функция в Simulate.cc
{
// ...
mjv_defaultCamera(&this->cam);
mjv_defaultOption(&this->opt);
InitializeProfiler(this);
InitializeSensor(this);
printf("azimuth: %f\n", this->cam.azimuth); // 90.0 is printed
// ...
}
Буду признателен, если вы дадите мне совет по этому поводу.
С уважением,
Я тоже попробовал чтобы напрямую изменить значения кулачка в файле моделирования.cc, как показано ниже, но измененное значение также не отразилось в визуализации.
- RenderLoop функция в Simulate.cc
{
// ...
mjv_defaultCamera(&this->cam);
mjv_defaultOption(&this->opt);
InitializeProfiler(this);
InitializeSensor(this);
this->cam.azimuth = -90.95;
printf("azimuth: %f\n", this->cam.azimuth);
// -90.95 is printed but the there's no change in visualization
// ...
}
Подробнее здесь: https://stackoverflow.com/questions/787 ... simulation