在我的場景中,我有一個MainCamera和一個MiniMapCamera。我也有一個HUD,目前這兩款相機都在繪製。我想從MiniMapCamera中刪除它,但是當我使用Camera.current.name
來檢查哪臺相機正在渲染時,它不起作用。我在Update()
函數中這樣做。我應該嘗試別的地方嗎?如何啓用/禁用HUD,基於攝像頭渲染
1
A
回答
1
我假設你有一個機制來切換相機?如果是這種情況,請使用該機制來跟蹤哪個攝像頭當前處於活動狀態。
我不知道這是否仍然如此,但當您在Unity的編輯器中運行您的應用程序時Camera.current
曾經有問題。如果仍然如此,您可以嘗試構建應用並查看Camera.current.name
返回的值。
[更新]
或者你可以存儲你的相機作爲gameobjects和活動的攝像頭比較存儲的攝像機,以確定哪些是有效的。這個解決方案應該只能間歇地使用,因爲每個幀都不是一個好主意。
public class CurrentCamera : MonoBehaviour {
public Camera minimapCamera;
public Camera mainCamera;
void FindActiveCamera(){
Camera[] cameras = FindObjectsOfType(typeof(Camera)) as Camera[];
foreach (Camera cam in cameras) {
if(Camera.main == mainCamera)Debug.Log("Found main camera");
if(Camera.main == minimapCamera)Debug.Log("Found minimap Camera");
}
}
void Update(){
FindActiveCamera();
if(Input.GetButtonDown("Fire1")){
minimapCamera.enabled = false;
mainCamera.enabled = true;
}
if(Input.GetButtonDown("Fire2")){
minimapCamera.enabled = true;
mainCamera.enabled = false;
}
}
}
[UPDATE2]
爲了Camera.main正確註冊您的相機,相機對象的Tag
必須設置爲MainCamera
。可以設置多個MainCameras
,只要確保在不活動的相機上禁用Camera
組件,或者渲染器將不知道使用哪個組件。
2
相關問題
- 1. 如何禁用子像素渲染?
- 2. libgdx ShapeRenderer用移動攝像頭渲染多次
- 3. 基於渲染
- 4. 禁用更新攝像頭圖像onerror
- 5. 禁用Windows Mobile任務欄,但啓用攝像頭
- 6. Android Force GPU渲染如何啓用和禁用?
- 7. 從華碩Xtion禁用RGB攝像頭
- 8. Phonegap禁用攝像頭配置
- 9. 在SceneKit中禁用攝像頭平移
- 10. 在ios中禁用攝像頭晃動
- 11. 網絡攝像頭 - 基於Windows的SDK
- 12. 如何使用opencv禁用攝像頭的自動對焦
- 13. libgdx - 使用SpriteBatch並使用一個攝像頭並排渲染兩個紋理
- 14. 渲染回形針頭像
- 15. 如何禁用程序的Firefox渲染?
- 16. 從攝像頭渲染到JavaFX 2.0中的視頻流MediaView
- 17. Unity中的攝像頭紋理與多線程渲染
- 18. Unity WebGL WebcamTexture攝像頭燈在禁用攝像頭後保持亮起
- 19. 如何使用Kinect使用攝像頭?
- 20. 如何禁用Android攝像頭功能編程
- 21. 如何在DirectX中通過網絡攝像頭畫面渲染3D場景?
- 22. 禁用GPU加速渲染
- 23. 禁用UITableView離屏渲染
- 24. 我將如何想象Haskell中基於像素的渲染?
- 25. 如何渲染VisualElement到基於矢量的圖像?
- 26. 如何渲染基於移動高度和寬度的圖像?
- 27. 基於picklistValues渲染Visualforcepage
- 28. 基於h渲染:selectOneMenu值
- 29. 如何在Camera2 API中啓用前置攝像頭?
- 30. 如何在android中啓動前置攝像頭使用Camera Intent?
不幸的是,它永遠不會執行第二個if語句(小地圖)。我也試過'Camera.allCameras'而不是Find,那也沒用。 – gaitat
@gaitat添加了上面的完整示例(測試和工作)。只需確保兩個攝像頭在編輯器中將「標記」設置爲「MainCamera」。 – Jerdak
right..MainCamera標籤在這種情況下是強制性的 – Heisenbug