0
我有一個3D模型附加到圖像目標。我想要的是根據相機的位置來縮放模型,也就是說,當我接近模型時,我希望它變大,當我變得更遠時,它應該變小。我搜索了論壇,並嘗試了兩種不同的解決方案: 解決方案1: 我創建了一個腳本,並連接到3D模型:圖像目標丟失後應用比例/翻譯Vuforia Unity
public class AR_Capsule : MonoBehaviour {
float minimumDistance = 0;
float maximumDistance = 3;
float minimumDistanceScale = 0.3f;
float maximumDistanceScale = 0.1f;
void Update()
{
float distance = (transform.position - Camera.main.transform.position).magnitude;
float norm = (distance - minimumDistance)/(maximumDistance - minimumDistance);
norm = Mathf.Clamp01(norm);
Vector3 minScale = Vector3.one * maximumDistanceScale;
Vector3 maxScale = Vector3.one * minimumDistanceScale;
transform.localScale = Vector3.Lerp(maxScale, minScale, norm);
}
}
解決方案2:
public class AR_Capsule : MonoBehaviour {
public float speed = 10f;
void Update()
{
transform.Translate(0, 0,(-1 * Input.acceleration.z * speed * Time.deltaTime));
}
}
這兩種解決方案的工作時,圖像目標是可見的。但是當我從視線中丟失目標時,物體將保持靜止,相機位置始終爲(0.0,0.0,0.0)。 你知道爲什麼當目標丟失時對象會凍結嗎? 我正在爲愛普生Moverio bt-300開發,並與vuforia眼鏡示例應用程序一起工作。
謝謝。