![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
unity3d
Fatestay_DC
这个作者很懒,什么都没留下…
展开
-
索引缓存绘制方形
#include <d3d9.h>#pragma warning( disable : 4996 ) // disable deprecated warning #include <strsafe.h>#pragma warning( default : 4996 )#include <d3dx9math.h>bool InitD3D(HWND hWnd, bool fullscreen)原创 2016-10-12 10:46:55 · 419 阅读 · 0 评论 -
镜面高光
1.求出入射光向量 2.顶点法线向量 3.根据CG函数求出 反射光 4.反射光与视向量点积 求出镜面高光的系数 乘以对应颜色值Shader "Custom/test1" { properties { _SpecularColor("SpecularColor",color)=(1,1,1,1) _shininess("shininess",rang原创 2016-04-15 09:56:09 · 1284 阅读 · 0 评论 -
光照漫反射(平行光)
Shader "Custom/test1" { SubShader { pass { Tags{"LightMode"="ForwardBase"} CGPROGRAM #pragma vertex vert #pragma fragment frag原创 2016-04-15 09:55:39 · 871 阅读 · 0 评论 -
点光源
使用两种内建的方法计算点光源光照 1.Shader "Custom/test1" { SubShader { pass { //使用unitycg.cginc中内建的点光源计算方法 //不同方法对应不同的tag ShadeVertexLights->Vertex 该方法传入顶点处于模型坐标系的顶点以及法线原创 2016-04-15 09:55:00 · 373 阅读 · 0 评论 -
C# 模拟光照运算以及背面剔除
1.求出顶点的法向量。通过叉乘计算 2.在顶点世界坐标空间 法向量与光向量进行点积(需要单位向量) 3.通过视向量与法线向量点积的结果 是否开启背面剔除1.向量类using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;nam原创 2016-04-15 09:54:22 · 531 阅读 · 0 评论 -
顶点扭曲
1.顶点绕Y轴旋转Shader "Custom/test1" { SubShader { pass { CGPROGRAM #pragma vertex vert #pragma fragment frag #include "unitycg.cginc"原创 2016-04-15 09:53:21 · 345 阅读 · 0 评论 -
顶点变换(顶点Y坐标抬升)
Shader "Custom/test1" { properties { _R("R",range(0,5))=1 } SubShader { pass { CGPROGRAM #pragma vertex vert #pragma fragment原创 2016-04-15 09:52:47 · 790 阅读 · 0 评论 -
屏幕坐标设置颜色变化(根据透视x坐标实现一个红色光带)
Shader "Custom/test1" { SubShader { pass { CGPROGRAM #pragma vertex vert #pragma fragment frag #include "unitycg.cginc" flo原创 2016-04-15 09:52:14 · 806 阅读 · 0 评论 -
简单的顶点着色(根据模型坐标和世界坐标位置)
Shader "Custom/test1" { SubShader { pass { CGPROGRAM #pragma vertex vert #pragma fragment frag #include "unitycg.cginc" flo原创 2016-04-15 09:51:37 · 3188 阅读 · 0 评论 -
Kbengine+Unity实现简单的注册登录 登陆成功切换场景
1.根据kbe官方文档配置kbe 2.下载kbe插件导入项目 3.项目制作登陆界面UI对应的脚本using UnityEngine;using System.Collections;using UnityEngine.UI;using KBEngine;using System;public class LaunchSystem : MonoBehaviour { public I原创 2016-10-12 10:31:51 · 3675 阅读 · 0 评论 -
blinphong光照
Shader "Custom/BlinPhong" { Properties { _MainTex ("Main Tex", 2D) = "white" {} _MainTint("Diffuse Tint",Color)=(1,1,1,1) _SpecularColor("Specular Color",Color)=(1,1,1,1)原创 2016-10-12 10:36:31 · 702 阅读 · 0 评论 -
贝塞尔曲线
using UnityEngine;using System.Collections;public static class Bezier{ ////二阶贝塞尔曲线方程式 插值之后再插值 //public static Vector3 GetPoint(Vector3 p0,Vector3 p1,Vector3 p2,float t) //{ // t = Ma原创 2016-10-12 10:41:27 · 727 阅读 · 0 评论 -
自定义简单高光模型
Shader "Custom/SimpleSpecular" { Properties { _MainTex ("Base (RGB)", 2D) = "white" {} } SubShader { Tags { "RenderType"="Opaque" } LOD 200 CGPROGRAM原创 2016-10-12 10:40:31 · 554 阅读 · 0 评论 -
纹理动画
Shader "Custom/AnimateTexture" { Properties { _Color ("Color", Color) = (1,1,1,1) _MainTex ("Albedo (RGB)", 2D) = "white" {} _ScrollXSpeed("X Scroll Speed",Range(0,10)) = 2原创 2016-10-12 10:40:03 · 486 阅读 · 0 评论 -
法线贴图
Shader "Custom/NormalMap" { Properties { _Color ("Color", Color) = (1,1,1,1) _BumpTex ("Bump Tex", 2D) = "bump" {} _NormalMapIntensity("Normal intensity",Range(0,1))=1 }原创 2016-10-12 10:39:32 · 350 阅读 · 0 评论 -
中间透明边缘泛光
Shader "Custom/Silhouette" { Properties { _MainTex ("Main Tex", 2D) = "white" {} _DotProduct("Normal intensity",Range(-1,1))=0.25 } SubShader { Tags { "Queue"="Trans原创 2016-10-12 10:38:52 · 550 阅读 · 0 评论 -
自定义兰伯特
Shader "Custom/Silhouette" { Properties { _MainTex ("Main Tex", 2D) = "white" {} _DotProduct("Normal intensity",Range(-1,1))=0.25 } SubShader { Tags { "Queue"="Trans原创 2016-10-12 10:38:15 · 412 阅读 · 0 评论 -
渐变纹理模拟光照
Shader “Custom/Toon” { Properties { _MainTex (“Main Tex”, 2D) = “white” {} _RampTex(“Ramp Tex”,2D)=”“{} } SubShader { Tags { “Queue”=”Transparent” “IngnoreProj原创 2016-10-12 10:37:44 · 356 阅读 · 0 评论 -
phong光照
Shader "Custom/phong" { Properties { _MainTex ("Main Tex", 2D) = "white" {} _MainTint("Diffuse Tint",Color)=(1,1,1,1) _SpecularColor("Specular Color",Color)=(1,1,1,1)原创 2016-10-12 10:37:06 · 440 阅读 · 0 评论 -
顶点进行缩放旋转操作
using UnityEngine;using System.Collections;public class uniform : MonoBehaviour { // Use this for initialization void Start () { } // Update is called once per frame void Update () {原创 2016-04-15 09:51:01 · 732 阅读 · 0 评论 -
MVP矩阵顶点变换
Shader "Custom/test1" { SubShader { pass { CGPROGRAM #pragma vertex vert #pragma fragment frag #include "unitycg.cginc" flo原创 2016-04-15 09:50:23 · 1513 阅读 · 0 评论 -
使用Properties和uniform来对着色器进行输入 附带介绍颜色插值混合的方法
Shader "Custom/test1" { Properties{ _MainColor("Main Color",color) = (1,1,1,1) } SubShader { pass { CGPROGRAM #pragma vertex vert #原创 2016-04-15 09:49:44 · 466 阅读 · 0 评论 -
Unity打包成APK的一些触屏操作
1.黄金矿工小游戏 点击手机屏幕,实现钩子伸出的操作 //手机控制以及电脑版本的操作控制 if (GameInput.IsComfirmKeyDown()&& isRotate || Input.GetKeyDown(KeyCode.Return) && isRotate || Input.GetMouseButtonDown(0) &&isRotate) {原创 2015-09-15 16:55:46 · 1565 阅读 · 0 评论 -
Application.OpenURL不同平台的使用
using UnityEngine;using System.Collections;public class testjar : MonoBehaviour { private static readonly int LocalVersion = 1; private static readonly int ServerVersion = 2; public static原创 2015-09-11 11:11:58 · 6579 阅读 · 1 评论 -
Shader中的空间概念以及光照模型
模型空间:在Unity脚本中,可以通过tranform.worldToMatrix这个矩阵的MultiplyPoint()或者MultiplyVector()方法,把世界坐标表达的矢量转换为此物体的模型空间表达的矢量。在Shader可以通过左乘_Wrold2Object这个矩阵 世界坐标空间 世界坐标可以把两个点表达为统一的形式。在脚本中物体的Tranform组件的LocalToWorldMat原创 2015-09-04 23:30:29 · 1389 阅读 · 0 评论 -
照明
不同的光照模型被选择的顺序 渲染路径和pass的LightMode标签 Unity支持3种RenderingPath,分别是VertexLit,Forward,和Deferred Lighting。Pass中使用的LightMode标签Vertex,ForwardBase,ForwardAdd,PrepassBase,PrepassFinal,表示当前Pass是为在哪一个RenderingPat原创 2015-09-05 15:45:00 · 600 阅读 · 0 评论 -
Shader以及Unity中的Shader
Shader即着色器,是一中运行在GPU上的程序,用来对三维物体进行着色处理,光与影的计算,纹理颜色的呈现等,从而将游戏引擎中一个个作为抽象的几何数据存在的模型,场景和特效,以和真实世界类似的光与影的形式呈现于玩家的眼中。通过Shader可以改变物体的形状,大小,位置,旋转等,甚至可以做PS的功能效果。伴随着GPU硬件性能的提升,shader编程方式经历了从最初的固定管线,到可编程流水线的发展。Sh原创 2015-09-03 18:20:29 · 820 阅读 · 0 评论 -
shader中的属性
实例化Shader为Material时,可以通过为属性赋值达到创建具体对象的目的,可以在Properties块中定义自己所需要的属性Properties { _MainTex ("Base (RGB)", 2D) = "white" {}//图片形式的属性 _MyColor("Color of Object",Color) = (1,1,1,1)//颜色属性原创 2015-09-04 14:31:24 · 1304 阅读 · 0 评论 -
Unity3d资源自动更新
1.创建AssetBudle 通过脚本将一个prefab创建为AssetBudle,将下面代码放入Editor文件夹下面using UnityEngine;using UnityEditor;using System.Collections;using System.Collections.Generic;public class ExportAssetBundles : EditorWind原创 2015-09-09 11:08:32 · 4323 阅读 · 2 评论 -
Unity3d使用RenderTexture制作动态头像
项目中需要实现一个3D动态头像,就是一个静态的头像实时与3D模型的表情动作同步,这个功能可以使用Unity3D的RenderTexture实现。 首先拖入3D模型,再添加与模型关联的摄像机,新建一个Model,层物体摄像机都处于Model层 摄像机属性设置如图: 摄像机的位置调整对准模型的正面。 新建一个renderTexture 新建一个材质球 这个地方遇到一些问题,就是黑原创 2015-09-02 15:15:38 · 3021 阅读 · 0 评论 -
Shader-颜色
Unity中新建一个样式如下Shader "Custom/NewShader 1" { Properties { _MainTex ("Base (RGB)", 2D) = "white" {} } SubShader { Tags { "RenderType"="Opaque" } LOD 200 CGPROGR原创 2015-11-04 09:40:22 · 2339 阅读 · 0 评论 -
Unity3D中LitJson使用
Unity3D中LitJson使用 场景描述,游戏中在指定棋盘格刷新出随机的几种物体。 需要当前玩家进行随机算法的计算,将计算结果广播给所有玩家。这个过程使用json来保存计算数值传给服务器,再通过服务器广播所有玩家,在本地对json文件进行解析。Unity中使用LitJson比较方便。private void InitItemPosition() { int money原创 2015-10-20 10:51:56 · 847 阅读 · 0 评论 -
使用结构体来优化shader的输入输出
Shader "Custom/test1" { SubShader { pass { CGPROGRAM #pragma vertex vert #pragma fragment frag struct v2f {原创 2016-04-15 09:49:05 · 711 阅读 · 0 评论 -
使用结构体来优化shader的输入输出
Shader "Custom/test1" { SubShader { pass { CGPROGRAM #pragma vertex vert #pragma fragment frag struct v2f {原创 2016-04-15 09:48:23 · 385 阅读 · 0 评论 -
C#实现3D三角形 顶点转换以及投影
1.向量基本类using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace _3DTransform{ class Vector4 { public double x, y, z,原创 2016-04-15 09:47:45 · 1685 阅读 · 0 评论 -
C#绘制三角形以及旋转
三角形类:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Drawing;namespace transform{ class Triangle { Poin原创 2016-04-15 09:46:31 · 5576 阅读 · 2 评论 -
unity3D 实现NGUI物体朝鼠标点击位置移动
新建一个场景: 需要移动的物体上面绑定一个脚本 MouseControlMoveusing UnityEngine;using System.Collections;public class MouseControloMve : MonoBehaviour { private bool isUpdate; private float x; private const i原创 2015-11-28 11:05:53 · 2367 阅读 · 0 评论 -
固定管线shader以及unity旋转四元数
Shader "Custom/fg" { Properties { _Color("Main Color", Color) = (1,1,1,1) _Ambient("Ambient",Color) = (1,1,1,1) _Specular("Specular",Color) = (1,1,1,1) _emmision("Emi原创 2015-12-10 23:24:20 · 884 阅读 · 0 评论 -
unity 延时调用方法
using UnityEngine;using System.Collections;using System.Collections.Generic;/// /// 使用Time.time控制时间间隔调用方法/// public class ProcessControl { static System.Action _action; static float原创 2015-12-10 13:04:05 · 1741 阅读 · 0 评论 -
ItweenPath使用
ItweenPath可以为物体可视化绘制一条路径,一般由最多十个点组成的路径,路径可以直接在编辑器中拖动,也可以通过代码来动态进行设置。 新建一个场景,添加一个精灵,挂上ItweenPath的脚本 此时在scene中可以看到一条路径,可以拖动上面的点自定义一条路径出来如下图: 接下来添加一个测试脚本test.cs 脚本首先要获取到场景中的path路径,然后作为Itween中MoveTo里原创 2015-10-28 15:26:11 · 4956 阅读 · 0 评论