Time of Update: 2018-12-04
在Unity3D中可以用不同的方法來實現單例,第一種是通常用法,第二種是自我包含法,第三種方法粗製濫造法,第四種是為C#開發人員準備的,計數器法。1.通常用法 通常用法是在相關類加入GetInstance()的靜態方法,檢查執行個體是否存在。如果存在,則返回。如果不存在,則返回一個“需要用遊戲元素類關聯”的調試警告錯誤.01 public class MyClass 02 { 03 private static MyClass instance; 04
Time of Update: 2018-12-04
void OnGUI() { GUI.Label(newRect(1,1,100,20),"I'm a Label"); //1 GUI.Box(newRect(1,21,100,20),"I'm a Box"); //2 GUI.Button(newRect(1,41,100,20),"I'm a Button"); //3 GUI.RepeatButton(newRect(1,61,120,20),"I'm a
Time of Update: 2018-12-04
今天把chromium的開發環境搭建起來了,簡單的看了一下裡面的代碼,發現裡面大量的用了scoped_ptr智能指標,哎,都快忘記這個玩意了,又找資料複習一下,廢話不說了scoped_ptr 和 auto_ptr非常類似,是一個簡單的智能指標,它能夠保證在離開範圍後對象被自動釋放。下列代碼示範了該指標的基本應用:#include<string>#include <iostream>#include <boost/scoped_ptr.hpp>class
Time of Update: 2018-12-04
基礎講:基本知識以下內容不需要入門的時候立刻閱讀和理解,建議逐漸深入學習後,不時回來看看即可。什麼是GPU?GPU:Graphic Processing Unit,中文翻譯為“圖形處理器”。顯卡包括(GPU,顯存,顯卡BIOS,顯卡PCB板)。什麼是Shader?Shader程式:GPU執行的,針對3D對象進行操作的程式。Shader有哪幾種?CG:與DirectX 9.0以上以及OpenGL 完全相容。運行時或事先編譯成GPU彙編代碼。HLSL:
Time of Update: 2018-12-04
原創文章如需轉載請註明:轉載自風宇沖Unity3D教程學院 Shader第六講:TexGenTexGen:主要用於Fixed Function Shader, 自動產生一些目標特效的UV。當有vertex函數時會被自動忽略。該函數直接對應OpenGL的texgen modes。有如下模式ObjectLinear, EyeLinear, SphereMap, CubeReflect, CubeNormal ; Shader "Texgen" {
Time of Update: 2018-12-04
特別講:常見問題回答本講會陸續補充一些問題的解答。問:(1) TRANSFORM_TEX是做什麼的(2)float4 _MainTex_ST 中的_MainTex_ST變數也沒有用到,為啥非要聲明一下?答:(1)簡單來說,TRANSFORM_TEX主要作用是拿頂點的uv去和材質球的tiling和offset作運算,確保材質球裡的縮放和位移設定是正確的。 (v.texcoord就是頂點的uv) 下面這兩個函數是等價的。o.uv =
Time of Update: 2018-12-04
在和朋友製作遊戲的過程中,經常有人問到角色模型應該怎麼建才更符合Unity的需要。在此,我將Unity官方網站中關於建模要求的部分翻譯如下,供參考。限於本人英文水平有限,而且並沒有一字一句地翻譯,而是基於自己對引擎的理解,採用更符合中文的語序來翻譯。故採取在原文段落下方附加中文翻譯的做法,以便大家對照。有些內容若朋友們覺得翻譯得不妥,歡迎給我留言。Modeling Optimized Characters角色最佳化建模Use one Skinned Mesh
Time of Update: 2018-12-04
原創文章如需轉載請註明:轉載自風宇沖Unity3D教程學院 Shader第七講:流程圖圖一:座標系變換圖二:流水線圖形圖三:Unity3D渲染流程圖四:光柵操作(又名光柵化操作)圖一:座標系變換圖二:流水線圖形圖三:Unity3D渲染流程圖四:光柵操作
Time of Update: 2018-12-04
public class CoverFlow : MonoBehaviour{ public int numberOfPhotos = 4; public ArrayList PhotoObjects = new ArrayList(); private Vector2 first = Vector2.zero; private Vector2 second = Vector2.zero; void Start(){ LoadImage(); } void LoadImages(
Time of Update: 2018-12-04
Unity3D物理效能最佳化:Unity所用的NVIDIA
Time of Update: 2018-12-04
原創文章如需轉載請註明:轉載自風宇沖Unity3D教程學院 第八講:Why CG?Shader有Fixed Function, Vertex and Fragment, Surface, 而Vertex and Fragmen裡又有CG和GLSL兩種。為什麼選CG做重點講解呢?Fixed
Time of Update: 2018-12-04
var targetTransform: Transform;var rotationSpeed : float=1.0;var canRun=false;var speed : float = 1.0;function Update () { var direction:Vector3=targetTransform.position - transform.position; direction.y=0; transform.rotation =
Time of Update: 2018-12-04
Unity3D教程:將3D座標轉成2D座標的方法。3D座標在Unity中稱作World Space,2D座標稱作Screen Space, 是以pixel為基準,以iPad 1024 x 768(4:3)的解析度為例子:左上方是 (0,0)右下角是(1024,768)Unity3D教程:將3D座標轉成2D座標的方法功能製作:點擊畫面中的3D方塊 然後在該方塊的中心位置產生相對應的GUI主要是應用此功能: camera.WorldToScreenPoint
Time of Update: 2018-12-04
原創文章如需轉載請註明:轉載自風宇沖Unity3D教程學院 特別講:CG函數本講不需立刻看完,遇到相關函數時來查閱即可。(本文來源:Cg教程_可程式化即時圖形權威指南)E.1 數學函數E.2 幾何函數E.3 紋理貼圖函數E.4 導數函數E.5 調試函數E.1 數學函數E.2 幾何函數E.3 紋理貼圖函數E.4 導數函數E.5 調試函數
Time of Update: 2018-12-04
Unity3D教程:最佳化Draw Call 。在螢幕上渲染物體,引擎需要發出一個繪製調用來訪問圖形API(iOS系統中為OpenGL ES)。每個繪製調用需要進行大量的工作來訪問圖形API,從而導致了CPU方面顯著的效能開銷。Unity在運行時可以將一些物體進行合并,從而用一個繪製調用來渲染他們。這一操作,我們稱之為“批處理”。一般來說,Unity批處理的物體越多,你就會得到越好的渲染效能。Unity中內建的批處理機制所達到的效果要明顯強於使用幾何建模工具(或使用Standard
Time of Update: 2018-12-04
private Vector2 leftFingerPos = Vector2.zero; private Vector2 leftFingerLastPos = Vector2.zero; private Vector2 leftFingerMoveBy = Vector2.zero; public float slideMagnitudeX = 0.0; public float slideMagnitudeY = 0.0; void
Time of Update: 2018-12-04
原創文章如需轉載請註明:轉載自風宇沖Unity3D教程學院 Shader第九講Render PathRender Path定義Render Path,就是採取的光照流程。Render Path設定可以在Edit-> Project Settings->Player 裡設定,見。也可以直接在攝像機的Inspector面板裡設定。Render
Time of Update: 2018-12-04
原創文章如需轉載請註明:轉載自風宇沖Unity3D教程學院 Shader第十講霧化FogFog,即霧化。本質是離螢幕越遠的物體,就越趨向於某種顏色。通常是遠處,即離螢幕遠的地方,趨向於白色或者淺灰色。全域霧化:在Edit->RenderSettings裡設定,具體如下Fog: 啟用或不啟用Fog Color:霧的顏色,僅RGB起作用。Fog Mode: Linear線性,Exp指數,Exp2 指數2Fog
Time of Update: 2018-12-04
原創文章如需轉載請註明:轉載自風宇沖Unity3D教程學院 Shader第十一講剔除及深度測試Culling陰影面剔除Culling陰影面剔除是一種最佳化技術。所有的多邊形都有正反兩面,而你永遠只能看見其中一面,不信的話拿張紙板或者一面鏡子看看你能不能同時看到兩面。通常多邊形面向螢幕裡面的背面,我們看不見,所以會將該面剔除。Cull Off 關閉陰影面剔除Cull Back 剔除背面Cull Front 剔除正面Depth
Time of Update: 2018-12-04
原創文章如需轉載請註明:轉載自風宇沖Unity3D教程學院