小编Rea*_*One的帖子

在位置C#Unity处给定力,计算GameObject的旋转速度

我发现这个脚本可以返回旋转速度(考虑到施加力的位置和距质心的距离).

public Vector3 ForceToTorque(Vector3 force, Vector3 position, ForceMode forceMode = ForceMode.Force)
{
    Vector3 t = Vector3.Cross(position - body.worldCenterOfMass, force);
    ToDeltaTorque(ref t, forceMode);

    return t;
}

private void ToDeltaTorque(ref Vector3 torque, ForceMode forceMode)
{
    bool continuous = forceMode == ForceMode.VelocityChange || forceMode == ForceMode.Acceleration;
    bool useMass = forceMode == ForceMode.Force || forceMode == ForceMode.Impulse;

    if (continuous) torque *= Time.fixedDeltaTime;
    if (useMass) ApplyInertiaTensor(ref torque);
}

private void ApplyInertiaTensor(ref Vector3 v)
{
    v = body.rotation * Div(Quaternion.Inverse(body.rotation) * v, body.inertiaTensor);
}

private static …
Run Code Online (Sandbox Code Playgroud)

c# physics vector unity-game-engine game-physics

0
推荐指数
1
解决办法
572
查看次数

距离为0

我希望这个div从A点到B点,反之亦然.问题是dist变量(距离)永远不会变为0,它通常是1或-1(或其他一些值范围),这会导致div卡住而不会去任何地方.在我的完整代码中,每次打开页面时,A点和B点的位置都是随机的.

下面的例子是重现问题.要使其按预期工作设置 #pointA { top: 5px; left: 5px; } |#pointB { top: 5px; left: 105px; }

var score = 0, points = 0, boxMode = 0, speed, speedX, speedY, angleRadians,
distX, distY, dist;

var destinationX = $("#pointB").position().left;
var destinationY = $("#pointB").position().top;

var pointAPos = $("#pointA").position();
var pointAx = pointAPos.left;
var pointAy = pointAPos.top;

var pointBPos = $("#pointB").position();
var pointBx = pointBPos.left;
var pointBy = pointBPos.top;

var boxPos = $('#box').position();
var boxX = pointAx;
var boxY = …
Run Code Online (Sandbox Code Playgroud)

javascript jquery distance pythagorean

-1
推荐指数
1
解决办法
55
查看次数