2014-08-29 67 views
1

我很難在Unity3d中平移一個gameObject的視圖。我不熟悉腳本,我正在嘗試爲Android開發AR(增強現實)應用程序。在Unity3d中平移一個gameObject而不是相機的視圖?

我需要從正常的俯視圖看到一個gameObject(例如一個地板模型),渲染到一個傾向於45度的「僞」iso視圖。由於gameObject是傾向的,我需要在其視圖上使用四(4)個按鈕(用於左,右,前進(或上),後(或下))的平移功能。

問題在於,我無法在論壇中使用任何已知的平移腳本片段,因爲AR相機在場景中必須是靜態的。

需要提及的是,我只需要在等軸視圖(我已經使用另一個腳本進行計算)中啓用平移功能,而不是從上到下的視圖。所以gameObject的座標軸的傾斜度一定沒有問題,對吧?

以下是狀態的兩個樣機圖像,渲染了gameObject(模型底板)和我目前使用的腳本代碼(來自Unity引用),這對我的需求來說功能不是很強大。

enter image description here

enter image description here

這裏是代碼片段,對於遊戲對象的左側移動。我用的是相同的,在一個變化 - ,+速度值,對於其他運動,但我得到它只是向上,向下,不要出去,向後:

#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; 
} 

這將是巨大的,如果有人來樣足以看看這篇文章,並就如何以最簡單的方式對此功能進行編碼提出建議,因爲我是新手?此外,如果可以提供示例代碼或教程,將會理解,因爲我可以從中學到很多東西。預先感謝您的時間和答案。

回答

0

如果我理解正確的話有一些固定的旋轉和位置的攝像頭和你有一個對象,你要移動上/下/左/右來自攝像機的角度

要旋轉對象的一組角度你根本

transform.rotation = Quaternion.Euler(45, 45, 45); 

然後將它移到您使用相機上/右/向前在這樣的世界空間上移,離開

transform.position += camera.transform.up; 
transform.position -= camera.transform.right; 

如果您只有在場景中有一個攝像頭就可以訪問它通過Camera.main.transform

如何當有人按下移動它的一個例子變換左箭頭

if(Input.GetKeyDown(KeyCode.LeftArrow)) 
{ 
    transform.position -= camera.transform.right; 
} 
+0

你好@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

+0

當您嘗試在android上向上或向下移動時會發生什麼? – Imapler 2014-08-29 11:56:17

+0

在android構建中,向上或向下(向前,向後)對象保持原位。它根本不動,因爲腳本看起來沒問題,所以很奇怪。 – user3244633 2014-08-29 12:51:27

相關問題