我很難在Unity3d中平移一個gameObject的視圖。我不熟悉腳本,我正在嘗試爲Android開發AR(增強現實)應用程序。在Unity3d中平移一個gameObject而不是相機的視圖?
我需要從正常的俯視圖看到一個gameObject(例如一個地板模型),渲染到一個傾向於45度的「僞」iso視圖。由於gameObject是傾向的,我需要在其視圖上使用四(4)個按鈕(用於左,右,前進(或上),後(或下))的平移功能。
問題在於,我無法在論壇中使用任何已知的平移腳本片段,因爲AR相機在場景中必須是靜態的。
需要提及的是,我只需要在等軸視圖(我已經使用另一個腳本進行計算)中啓用平移功能,而不是從上到下的視圖。所以gameObject的座標軸的傾斜度一定沒有問題,對吧?
以下是狀態的兩個樣機圖像,渲染了gameObject(模型底板)和我目前使用的腳本代碼(來自Unity引用),這對我的需求來說功能不是很強大。
這裏是代碼片段,對於遊戲對象的左側移動。我用的是相同的,在一個變化 - ,+速度值,對於其他運動,但我得到它只是向上,向下,不要出去,向後:
#pragma strict
// The target gameObject.
var target: Transform;
// Speed in units per sec.
var speedLeft: float = -10;
private static var isPanLeft = false;
function FixedUpdate()
{
if(isPanLeft == true)
{
// The step size is equal to speed times frame time.
var step = speedLeft * Time.deltaTime;
// Move model position a step closer to the target.
transform.position = Vector3.MoveTowards(transform.position, target.position, step);
}
}
static function doPanLeft()
{
isPanLeft = !isPanLeft;
}
這將是巨大的,如果有人來樣足以看看這篇文章,並就如何以最簡單的方式對此功能進行編碼提出建議,因爲我是新手?此外,如果可以提供示例代碼或教程,將會理解,因爲我可以從中學到很多東西。預先感謝您的時間和答案。
你好@Imapler。感謝您的時間發佈您的代碼片段。那麼,根據您的示例,我已經實現了以下代碼,並且我在Unity播放模式下可以正常工作,但在爲Android構建時無法使用。在Android中,我只能爲左 - 右工作。以下是所有GUI.Button的代碼:左鍵:transform.position + = target.transform.right;右鍵:transform.position - = target.transform.right;向前(向上)按鈕:transform.position + = target.transform.up;向後(向下)按鈕:transform.position - =目標。transform.up; Android構建可能有什麼錯誤? – user3244633 2014-08-29 11:16:03
當您嘗試在android上向上或向下移動時會發生什麼? – Imapler 2014-08-29 11:56:17
在android構建中,向上或向下(向前,向後)對象保持原位。它根本不動,因爲腳本看起來沒問題,所以很奇怪。 – user3244633 2014-08-29 12:51:27