原创 Mathf 中常用方法

Mathf.Abs()------取絕對值 Mathf.Ceil()------向上取整,返回值爲Float類型 Mathf.CeilToInt()------向上取整,返回值爲Int類型 void Start() {

原创 遊戲物體生命週期

遊戲物體生命週期 場景中的遊戲物體通過腳本來控制其具體行爲 生命週期流程圖:Unity官方 腳本里重點事件函數:  Awake:遊戲物體實例化後並處於激活狀態時調用,即使腳本組件沒有激活也會調用,而且先於Satrt()函數執行 OnEna

原创 【C#基礎】字典擴展

using System.Collections; using System.Collections.Generic; using UnityEngine; /// <summary> /// 對Dictionary擴展 /// </

原创 Shader基礎知識

頂點着色器輸入結構體中常用語義 頂點着色器輸出結構體中常用語義 片元着色器輸出時常用語義 Cg數據類型 1,基本數據類型:Cg支持7種基本的數據類型,分別是: float, 32 位浮點數據,一個符號位。浮點數據類型被所有的 pro

原创 Unity中將利用Excel將表格中的數據 轉換爲XML

步驟: 1、打開Excel表格>>文件>>選項>>自定義功能區>>勾選開發者工具 2、回到Excel主頁面,點擊開發者工具>>點擊源 3、在右邊會出現XML源菜單,點擊XML映射>>在彈出的對話框中點擊添加>>選擇做好的與Excel表格

原创 【C#基礎】委託、多播委託

一、委託 什麼是委託?   如果我們要把方法當做參數來傳遞的話,就要用到委託。簡單來說委託是一個類型,這個類型可以賦值一個方法的引用。  定義一個委託要定義委託的參數和返回值,使用關鍵字delegate  定義委託的語法如下:  dele

原创 【C#基礎】插入排序、選擇排序、快速排序

一、插入排序 實現思路:拿當前元素和當前元素前面的所有元素做比較,如果發現比當前元素大的,就讓它向後移動                  static void Main(string[] args) {

原创 【C#基礎】匿名函數、Lambda表達式、事件(Event)

一、匿名方法 使用委託,都是先定義一個方法,然後把方法給委託的實例。還有另外一種使用委託的方式,不用去定義一個方法,應該說是使用匿名方法(方法沒有名字)。 Func<int,int,int> plus = delegate (int a,

原创 [Unity3D]關於NaN(Not a Number)的問題

原文鏈接:http://blog.sina.com.cn/s/blog_5b6cb9500101cd9e.html 在遊戲運行時,代碼若寫得不安全很容易出現NAN的異常。一旦

原创 Unity中更改鼠標光標樣式

Unity項目中將鼠標光標樣式換成自己定義的鼠標樣式 在屬性面板將準備好的圖片的Texture Type設置爲Cursor 若要更改整個項目的默認鼠標樣式可以在Edit->Project Setting->Player->Default

原创 Unity中的歐拉角與四元數

Quaternion.Euler()          將歐拉角轉換爲四元數 //設置物體旋轉 //直接給歐拉角賦值 transform.eulerAngles = new Vector3(45, 45, 45); //將歐拉角轉換爲

原创 Random

Random.Range(min,max)        //隨機生成一個float類型或int類型的數 如果參數爲float類型,返回的值包含最大值      Random.Range(0.0f, 1.0f);    值在[0.0,1.

原创 Rigidbody剛體組件控制物體的移動和旋轉

Unity中如果一個物體有Rigidbody組件,可以通過Rigidbody組件控制該物體移動和旋轉 Rigidbody.position Rigidbody.rotation void Start() { //

原创 Unity3d中使用LineRenderer組件畫線

LineRenderer線渲染器主要是用於在3D中渲染線段,在這裏要注意LineRenderer渲染出的線段的兩個端點是3D世界中的點,即它是屬於世界座標(World Space)中的。 這裏我設置了一組單選按鈕,通過單選按鈕控制線條顏色

原创 Unity中利用射線檢測判斷當前點擊的物體

void Update() { //返回一條從相機到鼠標位置的射線 Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);