c# - 在斜坡上以相同的速度移动球 - Unity 3D
问题描述
我想在传入的斜坡上移动球,就像它在平原上移动一样。目前,当坡度开始时球速会降低,因此根据玩家的经验,整体球运动会降低。
当它在地面或马虎区域移动时,我想保持相同的速度。
这是我使用的代码片段:
void FixedUpdate ()
{
if (!GameManager.Instance.IsGameRunninng) {
myRigidBody.velocity = Vector3.zero;
return;
}
if (isJumper) {
isJumper = false;
myRigidBody.AddForce (Vector3.up * 35f, ForceMode.Impulse);
}
isGrounded = Physics.Raycast (rayTransform.position, Vector3.down, 0.5f, groundMask);
Vector3 nextVelocity = myRigidBody.velocity;
nextVelocity.x = ballInputHandler.horizontalInput * smoothnessX;
if (!isGrounded) {
nextVelocity.y -= speed * 0.3f;
} else {
nextVelocity.y = 0;
nextVelocity.z = speed;
}
myRigidBody.velocity = Vector3.Lerp (myRigidBody.velocity, nextVelocity, smoothnessValue * Time.fixedDeltaTime);
ClampingBallMovement ();
}
我希望你正确地解决了我的问题,给我一些建议,这样我就可以解决这个问题。
解决方案
调整nextVelocity.y
组件后:
myRigidBody.velocity = nextVelocity.normalized * desiredSpeed;
推荐阅读
- python - 如何导入另一个 tkinter python 类代码以打开新的 tkinter 窗口?
- python - Python初学者:从数组数组中删除nan
- python - 基于键的字典过滤不起作用
- python - Boto3:TypeError:列表索引必须是整数或切片,而不是 str
- oracle-apex - 图片上传没有页面刷新和提交按钮
- mobx - Mobx 只观察数组中的特定对象
- php - Laravel 验证不适用于多字节字符
- sql - 具有 2 个值和一个日期列的 PIVOT 查询
- react-native - 存储在 s3 Bucket 上的图像未加载到物理设备上 - React Native
- sql - 从 Oracle 中均匀分布的值列表生成随机值