2012-11-26 51 views
1

當我設置我的場景,添加幾何等,我如何設置相機,讓我可以看到我的整個場景?我試圖使用邊界框實現算法,但我有點卡住了。Three.js - 設置攝像機以便整個場景顯示的算法?

+2

請在jsfiddle上發佈一些示例。 下次更具體。 – TalesTk

+0

如果我有一些代碼,它會被張貼,但我不知道如何進行...我仍然在想:(我的場景將有n個網格,不同的寬度,高度和深度。找到「最合適」的相機位置,其中顯示所有網格 – Leprosy

+0

請先嚐試,然後,如果您有問題,請發佈您的代碼並提出具體問題 – WestLangley

回答

0

您確實只需要使用Math.abs(number)找到所有變量之間的最大絕對值,一旦找到最大的設置,您可以將相機的深度(position.z)設置爲該數值。我做了一個簡單的函數,它接收2個數字並返回最大值。

function findGreatestAbsolute(firstNumber, secondNumber) { 
    if(Math.abs(firstNumber) > Math.abs(secondNumber)) { 
     return Math.abs(firstNumber); 
    } else { return Math.abs(secondNumber); } 
} 

如果數字太多,也可以使用數組。 一旦你找到了你的號碼,你這樣做:

camera = new THREE.PerspectiveCamera(cameraFov, windowHalfX/windowHalfY , 1, someDepth); 
    camera.position.z(greatestNumber); 

camera.position.set(yourX, yourY, greatestNumber); 

嗯,我希望它能幫助。

相關問題