原创 Unity ScriptableObject的創建

代碼很簡單,直接上代碼了。 using UnityEngine; using UnityEditor; using System.IO; using System; public class ScriptableObjectCr

原创 Unity&Shader案例篇—繪製雨滴

原文http://www.manew.com/thread-97668-1-1.html 一、前言 先上效果圖,本文不只是簡單的繪製雨滴,同時處理了攝像機不同朝向看到的雨滴下落的方向也不一樣。 二、方法 1、繪製雨線:繪製雨使

原创 驗證一個數是否爲4的n次冪

將4的冪次方寫成二進制形式後,很容易就會發現有一個特點: 二進制中只有一個1(1在奇數位置),並且1後面跟了偶數個0; 因此問題可以轉化爲判斷1後面是否跟了偶數個0就可以了。 4的整數次冪的二進制數都爲 (4)100、(16)10000

原创 Unity MeshRender中material和sharedmaterial的區別

創建一個Cube和Sphere,創建一個Material,更改Shader爲Unlit/Color,然後將新創建的材質託給Cube和Sphere。 創建一個測試腳本 Public class Test : Monobehaviour {

原创 C# 位運算符

表:位運算符 A=60,B=13; 運算符 描述 實例 $ 如果同時存在於兩個操作數中,二進制 AND 運算符複製一位到結果中。 (A & B) 將得到 12,即爲 0000 1100 l 如果存在於任一操作數中,二進制

原创 Unity 及 VS2015 創建腳本時自動添加頭部註釋

首先來看下Unity: 在Editor文件夾下創建腳本如下: using UnityEngine; using System.Collections; using System.IO; namespace UGUIFrameWorkEd

原创 Unity 中OnBecameVisible和OnBecameInvisible的使用

今天要使用到這兩個函數,自己創建了一個腳本: public class Test:Monobehaviour { void OnBecameVisible() { Debug.Log("OnBecameVi

原创 堆和棧的區別

一、預備知識—程序的內存分配 一個由C/C++編譯的程序佔用的內存分爲以下幾個部分 1、棧區(stack)— 由編譯器自動分配釋放 ,存放函數的參數值,局部變量的值等。其 操作方式類似於數據結構中的棧。 2、堆區

原创 Unity3D 動畫系統的StateMachineBehaviours

創建動畫狀態機腳本: using System; using UnityEngine; using System.Collections; public class AnimatorStateMachine : StateMachine

原创 C# IEnumerable和IEnumerator 詳解

初學C#的時候,老是被IEnumerable、IEnumerator、ICollection等這樣的接口弄的糊里糊塗,我覺得有必要切底的弄清楚IEnumerable和IEnumerator的本質。 下面我們先看IEnumerable和I

原创 Unity 5.x中的AssetBundle(二)

二、AssetBundle下載 Unity 5.x中的AssetBundle(一) 一、Downloading AssetBundles(下載資源包) 這裏有兩種方式下載AssetBundles: 1、非緩存方式下載:

原创 Unity3D 單利模式

using UnityEngine; using System.Collections; public class Singleton<T> : MonoBehaviour where T : MonoBehaviour { p

原创 C# 斐波那契數列

斐波那契數列(Fibonacci sequence),又稱黃金分割數列,指的是這樣一個數列:1、1、2、3、5、8、13、21、34、……在數學上,斐波納契數列以如下被以遞歸的方法定義:F(1)=1,F(2)=1, F(n)=F(n-1)

原创 Unity3D 實例化UGUI自適應的預設

拉個預設如圖: public GameObject m_Prefab; void Start () { GameObject go=Instantiate(m_Prefab); go.

原创 Unity 獲取截屏 並且呼起微信分享

直接本上代碼。 IEnumerator GetScreenshot() { // 截屏1幀後再呼起微信 yield return new WaitForEndOfFrame();