原创 C#中數組中關於%的應用

索引永遠不大於數組的取值範圍 index = (index + 1) % textures.Length; a=(a+1)%b; a<b則a=a+1 a=b則a=0  

原创 有限狀態機

using System; using System.Collections; using System.Collections.Generic; using UnityEngine; /** 基於Eric Dybsand的遊戲編程G

原创 AI-視覺感知(聽覺感知)

using System.Collections; using System.Collections.Generic; using UnityEngine; public class Enemy03 : MonoBehaviour {

原创 AI-有限狀態機(追擊,巡邏)

有限狀態機的基類,包含各種狀態 using System.Collections; using System.Collections.Generic; using UnityEngine; public enum Transiti

原创 Shader-高光反射(像素實現)

// Upgrade NOTE: replaced '_World2Object' with 'unity_WorldToObject' // Upgrade NOTE: replaced '_World2Object' with '

原创 Shader-Blinn-Phong高光反射

Blinn-Phong光照模型 直射光 Specular = 直射光 * pow( max(cosθ,0),10)  θ:是法線和x的夾角  x 是平行光和視野方向的平分線 // Upgrade NOTE: replaced '_Wo

原创 Shader-高光反射(頂點實現);控制高光範圍;控制高光顏色

Blinn光照模型      cosθ= dot(reflectDir, viewDir) 直射光 Specular = 直射光 * pow( max(cosθ,0),10)  θ:是反射光方向和視野方向的夾角    10可以控制高光的範

原创 Shader-UnityCG.cginc中一些常用的函數

UnityCG.cginc中一些常用的函數         攝像機方向(視角方向)     float3 WorldSpaceViewDir(float4 v)          根據模型空間中的頂點座標 ==》(世界空間)從這個點到攝像

原创 Shader-控制透明度

// Upgrade NOTE: replaced '_World2Object' with 'unity_WorldToObject' // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*

原创 Shader-(頂點實現)環境光與自定義顏色

UNITY_LIGHTMODEL_AMBIENT    用來獲取環境光   // Upgrade NOTE: replaced '_World2Object' with 'unity_WorldToObject' Shader "L

原创 Shader-映射紋理

// Upgrade NOTE: replaced '_World2Object' with 'unity_WorldToObject' // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*

原创 Shader-漫反射(像素實現)半蘭伯特計算

半蘭伯特光照模型 Diffuse = 直射光顏色 *( cosθ *0.5 +0.5) 蘭伯特光照模型(漫反射) Diffuse = 直射光顏色 * max(0,cos夾角(光和法線的夾角) )  cosθ = 光方向· 法線方向 /

原创 Shader-片元函數調用頂點函數

// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)' Shader "LXC/03 StructShader" { Su

原创 Shader-凹凸映射和法線映射

法線貼圖爲藍色色調是切線空間,五顏六色的爲模型空間 實現凹凸映射的方法 高度紋理 法線紋理(高度映射,法線映射):高度映射:在貼圖的效果上提供高度貼圖,通過顏色的亮暗實現高淺;法線映射:使用法線的顏色實現 法線映射 // Upgrade

原创 Shader-漫反射與高光反射綜合(詳細版)

// Upgrade NOTE: replaced '_World2Object' with 'unity_WorldToObject' // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*