"物理演算"でやるならVelocityは基本使っちゃだめよ
物理演算を無視した移動だから見た目が物理っぽくなくなるよ
キャラの操作制御はInput.GetAxisでもいいがCharacter Controllerを使えばisGroundというパラメーターで地面との接点判定できるよ