Skip to content

Add gravity vector#717

Open
Ovannes24 wants to merge 1 commit into
MihailRis:mainfrom
Ovannes24:Add-gravity-control
Open

Add gravity vector#717
Ovannes24 wants to merge 1 commit into
MihailRis:mainfrom
Ovannes24:Add-gravity-control

Conversation

@Ovannes24
Copy link
Copy Markdown

Добавил вектор гравитации в:

  • Hitbox.cpp новый параметр gravityVec
  • PhysicsSolver.cpp где к пареметру gravity добавляется gravityVec
  • lib__rigidbody.cpp добавлен сеттер set_gravity_vec для gravityVec
  • stdcmd.lua новая внутриигровя команда для изменения gravityVec в консоли
console.add_command(
    "player.gravity player:int x:num y:num z:num",
    "Set gravity vector",
    function(args, kwargs)
        local pid = args[1]
        local x, y, z = args[2], args[3], args[4]
        local eid = player.get_entity(pid)
            if not eid then
                return "player has no entity"
            end
            
            local ent = entities.get(eid)
            if not ent then
                return "entity not found"
            end
            
            ent.rigidbody:set_gravity_vec({x, y, z})
            return string.format(" gravity vector set to [%.1f, %.1f, %.1f]", x, y, z)
    end, true
)
  • Дальше буду менять логику использования Y сущности, когда Y = Глобальный Y, относительно которого определяется прыжок, ось поворота камеры, на логику, где Y будет зависеть от направления гравитации.
  • Работа по направлению кубических чанков
image

@Xertis
Copy link
Copy Markdown
Contributor

Xertis commented Dec 3, 2025

О, ждал такое. Только в луа части можно set_gravity_vec в set_gravity_scale засунуть, по типу передаваемого аргумента выбирая, какую функцию вызвать.

Либо сразу в cpp реализовать это

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants