缩放ARCore GameObject

我想在滑块更改期间更改ARCore对象的比例。以下是有关滑块更改以及如何更改比例的回调代码。

public void onScaleSlidereChange(Slider slider)
{
    if (didStartChangingScale == false)
    {
        OnStartScaleManipulation();
    }

     OnContinueScaleManipulation();
     m_IsScaling = false;
}

OnStartScaleManipulation是我存储当前比例的地方。之后,我按如下所示缩放对象,

protected  void OnStartScaleManipulation()
{
    m_IsScaling         = true;
    m_CurrentScaleRatio = (ManipulationSystem.Instance.SelectedObject.transform.localScale.x - MinScale) / ScaleDelta;
}

protected  void OnContinueScaleManipulation()
{
    m_CurrentScaleRatio +=
        k_Sensitivity * GestureTouchesUtility.PixelsToInches(1.0f);

    float currentScale = CurrentScale;
    ManipulationSystem.Instance.SelectedObject.transform.localScale = new Vector3(currentScale,currentScale,currentScale);
}

不幸的是,ARObject从未缩放过。我错过了什么吗?

更新:

以下是CurrentScale

的代码
private float CurrentScale
{
    get
    {
        float elasticScaleRatio = ClampedScaleRatio + ElasticDelta();
        float elasticScale = MinScale + (elasticScaleRatio * ScaleDelta);
        return elasticScale;
    }
}

private float ElasticDelta()
{
    float overRatio = 0.0f;
    if (m_CurrentScaleRatio > 1.0f)
    {
        overRatio = m_CurrentScaleRatio - 1.0f;
    }
    else if (m_CurrentScaleRatio < 0.0f)
    {
        overRatio = m_CurrentScaleRatio;
    }
    else
    {
        return 0.0f;
    }

    return (1.0f - (1.0f / ((Mathf.Abs(overRatio) * k_Elasticity) + 1.0f)))
    * Mathf.Sign(overRatio);
}
doubledd 回答:缩放ARCore GameObject

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3036053.html

大家都在问