1. 程式人生 > >unity3D獲取螢幕寬高

unity3D獲取螢幕寬高

這裡要用到一個攝像機函式Camera.ViewportToWorldPoint, Unity官方對其定義為: 
Camera.ViewportToWorldPoint 視窗轉世界位置 
function ViewportToWorldPoint (position : Vector3) : Vector3

Description描述

Transforms position from viewport space into world space.

從視窗空間到世界空間的變換位置。

Viewport space is normalized and relative to the camera. The bottom-left of the camera is (0,0); the top-right is (1,1). The z position is in world units from the camera.

視口空間是歸一化的並相對於相機的,相機的左下為(0,0);右上是(1,1);Z的位置是以世界單位衡量的到相機的距離。

Note that it transforms a x-y screen position, into a x-y-z position in 3D space.

請注意它是變換一個x-y螢幕位置到一個3D空間的x-y-z位置。

You provide the function with a vector where the x-y components of the vector are the screen coordinates and the z component is the distance of the resulting plane from the camera.

這個函式帶有在螢幕座標的x-y元件向量,並且z元件是在從相機產生的平面的距離。

看了官方文件,現在我們知道怎麼獲取螢幕的實際寬高,下面是示例程式碼:

    private float width;
    private float height;

    void SetBasicValues(){

        float leftBorder;
        float rightBorder;
        float topBorder;
        float downBorder;
        //the up right corner
        Vector3 cornerPos=Camera.main
.ViewportToWorldPoint(new Vector3(1f,1f,Mathf.Abs(Camera.main.transform.position.z))); leftBorder=Camera.main.transform.position.x-(cornerPos.x-Camera.main.transform.position.x); rightBorder=cornerPos.x; topBorder=cornerPos.y; downBorder=Camera.main.transform.position.y-(cornerPos.y-Camera.main.transform.position.y); width=rightBorder-leftBorder; height=topBorder-downBorder; }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

得到的width與height就是螢幕寬高,程式碼的含義上面已經說的很清楚了。

相關推薦

unity3D獲取螢幕

這裡要用到一個攝像機函式Camera.ViewportToWorldPoint, Unity官方對其定義為:  Camera.ViewportToWorldPoint 視窗轉世界位置  function ViewportToWorldPoint (position : V

***獲取螢幕 :width(),height(),clientHeight,clientWidth 獲取的區別*

獲取螢幕寬高 :width(),height(),clientHeight,clientWidth 獲取寬高的區別 $(window).width() & $(window).height():獲得的是螢幕可視區域的寬高,不包括滾動條與工具條。 $(window).heigh

android獲取螢幕獲取控制元件

// 獲取螢幕寬高(方法1) int screenWidth = getWindowManager().getDefaultDisplay().getWidth(); // 螢幕寬(畫素,如:480px) int screenHeight = getWindowManager().getDe

獲取螢幕資訊、全屏切換、保持螢幕常亮、截圖等的工具

這個是我在專案中用到的獲取螢幕寬高資訊、全屏切換、保持螢幕常亮、截圖等的工具 import android.app.Activity; import android.content.Context; import android.util.DisplayMetrics; import

Android獲取螢幕,狀態列,actionbar,layout,導航欄高度的方法彙總

看這個部落格你可以知道 獲取螢幕寬高,狀態列寬高,actionbar寬高,layout寬高,導航欄(虛擬按鍵欄)高度的方法   目錄順序為 程式碼測試的機型 狀態列高度 actionbar高度 螢幕高度 導航欄(虛擬按鍵欄)高度 layout寬高 總

[Java]getScreenSize獲取螢幕小於正常值

最近在做一個Java程式,想獲取螢幕的寬高資訊。搜尋一番,一般都是通過以下的程式碼獲取寬高資訊。 Dimension dim = Toolkit.getDefaultToolkit().getScreenSize(); int width = dim.width; int

Android螢幕適配3-動態獲取螢幕及動態設定控制元件

1、問題 在螢幕適配中,要求應用在不同的螢幕上顯示一樣的效果時,我們的佈局可以採用百分比來定位,也就是 layout_weight,但對於一些層層巢狀或更加複雜的情況下,使用百分比的效果並不是很好,頁無法解決一些問題,比如文字大小。 2、解決思路 我們

程式碼中動態獲取螢幕

1.在程式碼中動態的獲取螢幕的寬高 <span style="font-size:18px;"> //獲取能夠封裝當前螢幕寬高的物件 DisplayMetrics dm=

iOS 獲取螢幕巨集

#define SCREEN_WIDTH   [UIScreen mainScreen].bounds.size.width #define SCREENH_HEIGHT [UIScreen m

Camera預覽尺寸和獲取螢幕

演算法需要將預覽大小與手機的解析度掛鉤,才能夠在不同解析度的手機上面預覽都不變形。 /** * 獲取最佳預覽大小 * @param parameters 相機引數 * @param screenResolution 螢幕寬高 * @return */ priva

uwp - 獲取當前螢幕/應用

原文: uwp - 獲取當前螢幕寬高/應用寬高    public static Size GetScreen() { var applicationView = ApplicationView.GetForCurrentView();

android螢幕適配的全攻略3-動態獲取手機螢幕及動態設定控制元件

1.獲取手機螢幕寬高: DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); int screenWidth = dm.width

Android獲取螢幕

WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE); DisplayMetrics dm = new DisplayMetrics(); wm.getDefault

Android如何獲取手機的螢幕

1.在activity中獲取 public class TActivity extends AppCompatActivity{ @Override public void onCreate( @Nullable Bundle savedInstanceS

js 獲取圖片 和 圖片大小

src 查看 nts 執行 input java image 創建 wid         獲取要查看大小的img   varimg_url = ‘http://img5.imgtn.bdimg.com/it/u=4267222417,1017407570&fm=

讀取部分圖片流,獲取圖片

skip exce try stream big pan exceptio fin dia import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileInputStream;

js獲取各種

fun cti oct eve page 部分 屬性 char lan 1.窗口和瀏覽器 window.innerWidth、window.innerHeight 瀏覽器內部可用寬高 window.outerWidth、window.outerHeight 瀏覽器整

jQuery 獲取頁面

超出 垂直滾動條 變化 寬度 ID document doc window 瀏覽器 無滾動條的情況下(頁面寬高比可視區域小):$(document)和$(window)的width、height方法獲取的值都是一樣的,都是可視區域的寬高即$(document).width(

Activity正確獲取View

在View的measure完成後,一般可以通過getMeasureWidth/getMeasureWidth方法可以正確的獲取View的寬高,而在特殊情況下,可能需要多次measure才能確定最終的測量寬高,onMeasure無法獲取正確的寬高,但可以在onLayout方法中獲取測量寬高。

在前端獲取圖片

問題描述: 最近遇到一個需求,需要在前端根據圖片寬高來適配圖片顯示效果 但是如何僅通過一個 url 獲取到圖片的寬高呢。。。   解決方案: 手動建立一個 image 物件,然後在該物件的 onload 事件中獲取 checkImgWidth (fileUrl) { r