Time of Update: 2018-12-04
quaternion是一個標量和一個3D向量的組合。q={ w,x,y,z},Ogre中一個預設的quaternion ={1,0,0,0} ,一般用於空間一點的旋轉,假設空間一點叫p,將要旋轉角度是α,旋轉軸是(x,y,z),那麼:p={0,x0,y0,z0}q= {cos(α/ 2) , sina(α/ 2) Nx, sin(α/ 2)Ny, sin(α/ 2)Nz } (N為單位向量) p結果 =q*p*q-1
Time of Update: 2018-12-04
1 首先隨便扔進去一個字型,最簡單的比如扔進去一個arial。設定好Font Size,比如24Character裡一般來說不需要Unicode,除非你要把中文做成花。我選ASCII default set。如果只要大寫或者小寫,自己選。2 建一個目錄,取名叫Editor。然後建立一個Javascript,按斷行符號(Mac)或者F2(Win)改名成SaveFontTexture,不用加.js。然後雙擊,貼進去下面代碼:代碼:import System.IO;@MenuItem ("Assets
Time of Update: 2018-12-04
Unity3D效能最佳化之角色建模使用一個單一的Skinned Mesh Rendere應該對於每個角色僅使用一個skinned mesh renderer。Unity使用可見度裁剪和包圍體更新的方法來最佳化角色的運動,並且這些最佳化只有在您使用一個運動組件和一個skinned mesh
Time of Update: 2018-12-04
Input.deviceOrientation : (例子:if (Input.deviceOrientation ==
Time of Update: 2018-12-04
NGUI:UIPanelUIPanel負責建立實際的集合圖形。你不需要手動的添加UIPanel-一旦你建立一個控制項,它會自動被添加。如果你想將你的UI渲染拆分到不同的Draw Call中,你可以手動建立你自己的UIPanel,例如你要建立一個分屏的遊戲,每個屏用一個攝像機進行渲染,這種秦光下你就需要2個UIPanel來避免控制項互相重疊。參數Panel Tool 決定這一個Panel是否會顯示在Panel
Time of Update: 2018-12-04
實體(Entity)一個實體是情境裡一個可移動的物體的具體執行個體。唯一的假設是它在世界空間裡沒有一個固定的位置。實體必須串連到一個結點上才真正成為情境的一部分。當一個實體被載入後,一系列預定義的材質也一齊被載入。一個網格可能不僅僅只用一種材質。網格的不同部分可以使用不同的材質。一個網格對象實際上包含著幾個子網格對象(根據它所包含的材質數目)。如果一個網格只有一種材質可用,那麼它就只有一個子網格對象。可以使用Entity::getSubEntity()來獲得子網格的引用,然後使用該引用調用set
Time of Update: 2018-12-04
NGUI:UIAnchorAnchor指令碼可以用來實現多個目的,這些在Example0裡面都有用到。1. 只要提供一個half-pixel位移量,它可以讓一個控制項的位置在Windows系統上精確的顯示出來(只有這個Anchor的子控制項會受到影響)2. 如果掛載到一個對象上,那麼他可以將這個對象依附到螢幕的角落或者邊緣參數UI Camera 是渲染這些對象的攝像機,如果沒有手動設定,它會自動化佈建一個情境中的攝像機Side 設定錨點,分別可以設定4個角,4個邊和中心點Half Pixel
Time of Update: 2018-12-04
Unity3D教程:手遊如何使用Unity3D內建的重力感應?重力感應在手機遊戲的開發中非常常見。Unity3D本身集合了重力感應的相關內容。簡單的JS指令碼示範一下重力感應的使用://物體的貼圖var round : Texture2D;//物體在螢幕中顯示的X Y座標var x = 0;var y = 0;//物體螢幕顯示的最大 X Y 範圍var cross_x = 0;var cross_y = 0;function Start(){//初始化賦值cross_x = Screen.wid
Time of Update: 2018-12-04
想象一個物體在3D空間中移動的過程,該物體必然會涉及到旋轉。例如一個怪物,他的運動方向會改變,要改變其方向只需要對其進行旋轉即可。旋轉的方式大致分為三種:Euler旋轉,矩陣旋轉,以及四元數旋轉。這裡稍微記錄下我目前對於四元數旋轉的理解。對於四元數方面的數學,以及其原理,這裡不關心,只需要學會如何使用即可。無論是哪一種旋轉,物體與該物體的局部座標系之間的相對位置,相對方位都是不會改變的。因此,在進行兩個局部旋轉(即相對於局部座標系)時,要注意結果可能不是你預期的。對於Euler旋轉,OGRE中為
Time of Update: 2018-12-04
原創文章如需轉載請註明:轉載自風宇沖Unity3D教程學院 Shader第十三講 Alpha混合Alpha Blending,中文譯作Alpha混合Blending就是控制透明的。處於光柵化的最後階段。這裡例如我們給一個模型貼一個材質,那麼在某個點計算出來顏色值稱為源,而該點之前累積的顏色值,叫目標。文法Blend Off 不混合Blend SrcFactor DstFactor
Time of Update: 2018-12-04
1. OGRE的事件模型。 OGRE事件處理採用的是public subscribe mode, 即發布式訂閱模型。通常的情境如下: 對象A試圖在對象B產生C類型事件的時候 執行指定的動作,於是,對象A告知對象B當產生C類型事件的時候給自己發出一個通知。整個過程涉及到以下元素, *事件來源 (Event Source)。通常是GUI對象或者使用者輸入, 或者某個對象內部產生的事件。例如現在Root對象 就是一個事件來源,它從內部產生
Time of Update: 2018-12-04
NGUI:UIAtlasUIAtlas是一個容器,他包含了許多sprite的座標資訊。如果你對這個概念不是很熟悉,你可以這樣理解:與使用很多小的貼圖來渲染UI相比,使用一張包含了所有小貼圖的大貼圖的效率要高許多。這些小的貼圖就被叫做sprite,這個大的貼圖就被叫做atlas。在使用NGUI渲染任何東西之前,首先需要建立一個atlas(或者使用一個現成的)。如果你是一個美術,那你可能已經熟悉了相關的流程。如果沒有,你可以直接使用NGUI內建的Atlas
Time of Update: 2018-12-04
在一些論壇上看到有人問在unity裡面控制滑鼠的移動範圍,有二種方法,一個是調用windows 系統的 user32.dll的ClipCursor函數 再一種就是 通過Cursor.SetCursor函數這裡就介紹一下 第一種方法吧,不說廢話了 直接上代碼 [DllImport( "user32.dll", CharSet = CharSet.Auto, ExactSpelling = true )][return: MarshalAs( UnmanagedType.Bool
Time of Update: 2018-12-04
我們通常把移動開發分為Web、Native和Hybrid,但其實Hybrid又可以細分的。最簡單的是在Native中放一個WebView,然後載入一個相容智能機的網站,其實就相當於在使用者的手機上建立一個捷徑,也算是佔據使用者案頭的應急用法吧。用這種方法要注意檢測網路是否正常,不正常要給予提示,否則蘋果是不予通過的。第二種是將Web相關檔案全部放在本地,資料庫一般用Sqlite做本機存放區,使用者就算不連網也能工作。第三種可能是以Native為主,在某些特定的模組才會用到WebView。其實要我
Time of Update: 2018-12-04
螢幕自適應NGUI可以比較方便的實現螢幕自適應,但是它的官方教程裡面針對這個問題沒有詳細的教程,所以可能在實現的時候會走比較多的彎路。以下是我在開發過程中找到的一個比較方便的實現方法。主要組件1. UIAnchor這個是用來確定控制項在螢幕中的位置,另外有一篇教程專門講它的功能,所有不會再贅述2.
Time of Update: 2018-12-04
學習方法及技巧學習方法 (1)由簡入繁:自己寫Shader,從最簡單寫起,簡單的測試通過了,再一點點往裡加。(2)多調試:例如,有一個float變數x。假如x範圍是[0,1],則在frag片段函數裡輸出 float4(x,0,0,1)的顏色,以紅色的深淺來觀察x的值;如果x範圍是[0,1000],則可在frag片段函數裡輸出
Time of Update: 2018-12-04
智能手機應用開發,從效果上來講當然是native開發最好,不過為了節省成本,混合式的開發模式也是一種不錯的選擇,但是在此要特別聲明一下,所謂混合式的開發是native和web有沒有互動,沒有的不算,你直接在一個webview中嵌入一個html,這算啥混合(Hybrid)開發。在公司規定的jquery
Time of Update: 2018-12-04
與手工編碼比起來,HTML5架構在準確性和正確率方面給予了保證。大多數HTML5架構都會有一個組合或者包含一些額外的組件,比如jQuery
Time of Update: 2018-12-04
環境:VS2005 DX9 OGRE1.7.1 CEGUI0.7.11.首先你要下載一個CEGUI0.7.1,如果有支援檔案包的話把支援包放到CEGUI的SDK下。並在VS中包含CEGUI。(不知道是否必須)2.之後對你的CEGUI進行編譯。具體做法是先在CEGUI的SDK下找到並開啟premake檔案夾,如在我的這邊目錄是:C:/Program
Time of Update: 2018-12-04
by 野比喵這段時間感覺很蛋疼。。雖然各種遊戲玩的很開心。。還是多少要學習一下唄。。做了個小東西,貼出來得瑟下。。能力有限,就先這麼著了。別試圖找我要任何代碼之類的。。我只是個amateur,這種文章認真你就輸了。。別試圖接分。。那是不可能的。。當你對生活不滿意,工作不滿意,妹妹不滿意。。。如果不想付出金錢去改變,活該苦逼。如果不想付出精力去改變,活該苦逼。如果不想付出生命去改變,活該苦逼。如果不能忍受別人的鄙視,親,請給別人一個不鄙視你的理由先。。其實這篇沒什麼技術含量,類似Photoshop