自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

代码有点烂

试拂铁衣如雪色 聊持宝剑动星文

  • 博客(89)
  • 资源 (5)
  • 问答 (4)
  • 收藏
  • 关注

原创 c++ typename用法

先看这两篇文章。https://blog.csdn.net/vanturman/article/details/80269081https://blog.csdn.net/pizzq/article/details/1487004使用typename的规则最后这个规则看起来有些复杂,可以参考MSDN:typename在下面情况下禁止使用: 模板定义之外,即typename只...

2019-09-27 11:41:43 1648

原创 协变与逆变的简要说明

在看C#的时候看到了协变与逆变,百度一下发现原来C++, java里早就有了协变与逆变.首先说明协变与逆变的含义:逆变与协变用来描述类型转换(type transformation)后的继承关系,其定义:如果A、B表示类型,f(⋅)表示类型转换,≤表示继承关系(比如,A≤B表示A是由B派生出来的子类)f(⋅)是逆变(contravariant)的,当A≤B时有f(B)≤f(A)成立;f(⋅...

2019-03-31 14:52:27 4838 1

原创 简单图解有限状态机与状态模式

限状态机将一个对象的行为分解为容易处理的“块”或者状态,对象执行了某些变换对象将从一个状态变成了另一种状态,说的简单点就是状态流程图,然后这些状态的数量是有限的。毛星云的博客里举了一个很好的例子说明我们为什么要使用有限状态机。http://blog.csdn.net/poem_qianmo/article/details/52824776就拿他举的例子说明吧:假如我们现在正在开发一...

2018-12-03 01:39:04 12161 1

原创 Mecanim动画系统的Animation Loop

假定某一动画为right控制上图球体水平移动由于正方体没有选中Loop Time,在A 状态第一次结束后再次进入A状态,正方体的位置并没有变化而如果正方体选中Loop Time,在A 状态第一次结束后再次进入A状态,动画会再次播放,正方体会回到原位置,再播放。只有在A状态使用的动画选为 Loop 时,融合结束时间超过 A使用的动画结束时间 A状态才会重复否则如下:...

2020-07-23 22:13:03 671

原创 unity 动画混合总结(一)

动画混合总结:1D: 运动阈值,看横轴,下图是-1到1.当处于某个金字塔顶峰时,表示该动画权重为1,其它动画权重为0.注意横轴,横轴表示动画的影响值,对于某一位置的参数所有动画影响值之和为100%,上图如果红色标记处于中间,那么2nd motion影响值为100%,其余为0.虽然1D混合可以添加很多动画剪辑,但是,最终参与混合的只有两个。如何判断混合动画权重:直接判断当前混合参数在所有动画阈值中的位置。假设当前所有动画阈值为1,2,3,4,5,6...

2020-06-28 00:33:42 3126

转载 c++对象模型

原文:https://www.cnblogs.com/HelloGreen/p/12641645.html简单对象模型:为所有成员建立一个Slot,也就是一个指针,让这个指针指向数据在简单对象模型下,因为类的函数成员,数据成员都没有直接放到对象模型中(放入的是指向成员的指针),因此可以解决“因menbers不同因而需要不同的存储空间”(没明白书上这句话的意思)的问题。优点:简单缺点:每增加一个成员,对象模型就得增加一个指针,内存与成员数量成线性关系每次访问member,都需要

2020-06-14 16:57:46 175

原创 windows游戏编程(三) 创建菜单资源

windows游戏编程大师技巧第二版也是很老的书了,内容有些变化。使用vs2019创建菜单资源:资源名称修改为MainMenu.rc,查看菜单ID:方法一:双击进入:菜单ID为IDR_MENU1双击打开resource.h文件这里的ID_FILE_OPEN,ID_FILE_CLOSE就是菜单栏按钮的id,后面代码中还需要使用。代码记得#include "resource.h"#define WIN32_LEAN_AND_ME...

2020-05-24 17:25:31 333 1

原创 Window游戏编程 (二) 创建两个窗口

#define WIN32_LEAN_AND_MEAN //预编译指令 指示编译器不要包含MFC的内容#include <Windows.h>#include <windowsx.h>//我们创建的窗口和其他应用程序窗口都会产生事件和消息,所有消息都进入一个队列,并且我们的窗口消息发送到我们的窗口专用队列中,//然后,主事件循环检索这些消息,并且把他们我们的窗口WindowProc中处理/*hwnd:窗口句柄,当我们使用同一个类建立多个窗口时才会用到,hwnd是表明.

2020-05-24 17:14:29 719

原创 windows游戏编程 (一) 了解WinMain函数,创建一个信息框

参考《Windows游戏编程大师技巧》1.创建工程对于Vs2019, VS20171)桌面向导2)选择桌面应用程序,空项目2.代码如下:#define WIN32_LEAN_AND_MEAN //预编译指令 指示编译器不要包含MFC的内容#include <Windows.h>#include <windowsx.h>/*#define WINAPI __stdcall#define CALLBACK __stdcall__st..

2020-05-17 20:58:32 387 2

原创 c++类型转换 简单实例

// 类型转换.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>using namespace std;class A {public: int i; //构造函数使用explicit修饰,显式转换 explicit A(int _i):i(_i) { cout ...

2020-05-05 11:16:34 138

原创 使用struct完成一个可变长数组

《c++深度探索对象模型》 P20:c++中凡是处于同一个access section(访问区段,也就是private,public这些)中的数据,必定保证以声明顺序出现在内存布局当中。但是多个access section中的各笔数据,排列顺序就不一定了。对于从c发展来的结构体,除了与类在默认访问权限上不同,内存布局上也存在区别。对于struct,是按照声明顺序来存放数据的。可以利用这...

2020-04-19 23:19:27 734

原创 通过高度图求法线

参考:https://catlikecoding.com/unity/tutorials/rendering/part-6/只对参考https://catlikecoding.com/unity/tutorials/rendering/part-6/求法线部分说明。对于高度图,它存储的是高度数据。我们的目的是求顶点的法线,也就是空间曲面上任意点的法线。对于一般的平面如果已知平面方程可以...

2019-11-10 17:17:59 2278

原创 镜面反射

参考:https://catlikecoding.com/unity/tutorials/rendering/part-8/https://blog.csdn.net/puppet_master/article/details/80808486

2019-11-06 18:24:27 317

原创 Unity Shader在多个Pass中使用自定义的函数

直接参考这篇文章吧:https://blog.csdn.net/huahuakucha/article/details/89476732就是利用CGINCLUDE 与 ENDCG把要用到的包一下就行,如果在Pass中没有使用#pragma编译指定的函数,那么也是可以直接使用的....

2019-10-19 21:53:18 861

原创 c ++ 虚表

参考:https://www.jianshu.com/p/93f37ce285d4// 虚表.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>using namespace std;class Base {public: virtual void f() { cout << "父...

2019-10-15 21:07:38 340

转载 Direct12 3D游戏开发实战 “Callback”: 模板 从属名称的使用必须以“模板”为前缀”

使用Vs2017 按照书上的操作,报错 “Callback”: 模板 从属名称的使用必须以“模板”为前缀”解决办法见链接:https://blog.csdn.net/u014038143/article/details/82377610取消 VS中的permissive即可。顺便转下,VS2017中的新建项目步骤https://www.jianshu.com/p/d6607...

2019-09-27 00:45:46 911

原创 组合数

https://leetcode-cn.com/problems/combination-sum/第一个方法自己写的,内存方面因为函数调用传递了不少参数,消耗了不少内存。效率方面,也是小于0肯定不在继续搜索下去,不知道为什么慢了那么多。执行用时292ms 88.6MB// 组合总和.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#inc...

2019-09-17 00:42:01 162 1

原创 Unity 使用脚本修改资源AssetBundleName

通常可以使用AssetImporter importer = AssetImporter.GetAtPath(assetpath);获取文件夹下资源,之后修改assetBundleName。但是,如果要操作的是文件夹下某些文件,或者每个文件AssetBundleName都不相同应该怎么办呢? 通常,使用AssetImporter.GetAtPath(assetpath)时,如果assetpa...

2019-09-10 19:22:31 1948

原创 Unity 基于几何方法描边

Unity Shader 入门精要里提到一种基于几何方法的描边方式。https://blog.csdn.net/candycat1992/article/details/45577749Shader "Unity Shaders Book/Chapter 14/Toon Shading" { Properties { _Color ("Color Tint", Color) = (...

2019-09-04 01:04:19 983

原创 Trie树

Trie树:http://hihocoder.com/problemset/problem/1014?sid=1526165描述小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在编程的学习道路上一同前进。这一天,他们遇到了一本词典,于是小Hi就向小Ho提出了那个经典的问题:“小Ho,你能不能对于每一个我给出的字符串,都在这个词典里面找到...

2019-08-26 00:31:36 95

原创 仿指针类与仿函数类

一个类,如果它的对象使用时像是指针,或者函数那么这个类就是一个仿指针类与仿函数类。原理分析:在使用指针时,我们使用的运算符通常是*, &, ->。对于函数我们使用的是函数调用运算符,也就是( )因此要使得一个类像指针,那么类内重载指针所使用的运算符不就行了。同理,要使得类像一个函数,那么类内重载函数调用符就行了。仿指针类:智能指针:一个...

2019-08-14 23:40:18 250

原创 Transform.forward 与 Vector.forward

查阅Unity C#端源码:https://github.com/Unity-Technologies/UnityCsReference// The red axis of the transform in world space.public Vector3 right { get { return rotation * Vector3.right; } set { rotat...

2019-08-13 15:53:17 737

原创 Unity中的SetFromToRotation(之前写的有问题)

修改:《Unity API解析》一书中关于SetFromRotation应该有点问题,这里使用transform.rotation = q1就实现了将GameObject对象自身坐标系中向量v1指向的方向旋转到v2方向了??下面的部分写于8.13号创建一个fromDirection到toDirection的旋转。这里需要注意的是,是将GameObject自身坐标系中的向量v1...

2019-08-12 15:23:46 1130

原创 C# 在循环内捕获变量

匿名方法捕获变量:static MethodInvoker CreateDelegateInstance( ){ int counter = 5; MethodInvoker ret = delegate{ Console.WriteLine( counter ); counter++; } ret(); retu...

2019-08-05 14:17:40 509

原创 C#委托与事件(二)

在说C#委托时,往往指的是委托类型而不是一个委托类型的对象(最好是区分委托类型和委托实例),在说起事件的时候,可以说是封装过了的委托类型对象吧。事件不是一种类型,它是封装过了的委托类型的对象。如下代码,如果事件是一种类型,那下面代码中有事件类型的对象吗?为什么是HandEvent += Method;而不是HandEvent handevent += Method;...

2019-07-30 10:27:59 118

原创 unity 异步与多路复用(一)

参考《unity3D 网络游戏实战》第二章 异步与多路复用《socket中accept()函数的理解》——https://www.cnblogs.com/cooperstuff/archive/2012/03/21/2410494.html这里需要注意的:unity是单线程引擎,在其它线程内不可以调用unity API,也无法修改unity UI,所以这里修改ui的部分,就放...

2019-07-22 17:09:54 328

原创 C#扩展方法

参考:《深入理解C#》扩展方法必须具备以下特点:1.必须在一个非嵌套的,非泛型的静态类中(因此必然是一个静态方法)2.必须要有一个参数3.第一个参数必须使用附加的this关键字作为前缀4.第一个参数不能有其他任何修饰符(比如out或ref)5.第一个参数的类型不能是指针类型第一个参数的类型称为扩展类型,即该方法扩展了该类型,下面的代码中扩展了类型Testus...

2019-07-19 17:59:08 672

原创 Unity中为什么要使用LayerMask

个人理解:使用Layermask的好处:首先,layerMask是一个32位的掩码,32位掩码一个32位二进制数,每一位表示一个状态,对于layerMask这个状态就表示某一层的打开关闭状态,0表示关闭,1表示打开。那么,为什么要使用掩码不直接使用十进制数呢?对于一个十进制整数,可以使用字典的方式存储状态,< 层数, 状态 > 比如要表示第8层的打开关闭状态,可能的函数就是传入...

2019-07-09 11:04:42 1379

原创 漫反射与高光反射总结

对于漫反射:diffuse = 光照颜色*材质漫反射颜色*max( 0, cos( 点到光源方向与法线夹角 ) )注:对于一般的纹理来说,材质漫反射颜色就是纹理采样颜色这里主要需要求出的是点到光源方向,并且在这里点到光源方向是在世界空间下的。求解说明:1. UnityWorldSpaceLightDir( float4 worldPos )函数接收一个世界空间下的位置返回一个该...

2019-06-28 01:17:16 2236

原创 Unity shader法线纹理应用

注:tangent : TANGENT; 类型为float4, w可以用来翻转副法线1.Unity切线空间问题和推理思考有部分切线空间推导https://www.jianshu.com/p/af800402f5db2.Unity文档对Mesh.tangents说明:https://docs.unity3d.com/ScriptReference/Mesh-tangents.h...

2019-06-27 17:29:37 344

原创 Unity shader 高光

参考<unity shader编程精要>_Gloss越大高光区域越小// Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'// Upgrade NOTE: replaced '_World2Object' with 'unity_WorldToObject'Shader "MyShade...

2019-06-26 15:43:10 723

原创 unity shader漫反射

1. 漫反射物体在环境光下反射的光强 = 环境光强*材质对环境光的反射系数2. 漫反射物体在入射光下反射光强 = 光源强度*材质对环境光的反射系数*cos入射光与法线夹角参考:https://www.cnblogs.com/luxishi/p/6422852.html漫反射和Lambert模型求光源下物体漫反射颜色使用的是公式 2物体在点光源下漫反射颜色= 入射光颜色*漫反射...

2019-06-25 15:27:41 595 3

原创 ShaderLab结构

Shader ShaderName{ //属性 Properties { 属性名称(面板上显示的属性名称, 属性类型) = 默认值 } //Shader文件可以包含多个Subshader语义块,Unity扫描所有的Subshader,然后选择第一个可以在平台 上执行的Subshader Subshader ...

2019-06-25 10:37:58 492

原创 复习C++

很多东西长时间没用,写点东西加强下。0.数组名不是指针谭浩强的书上说过数组名是数组首元素地址,而指针的值是地址,所以说数组名不是指针。指针又叫指针变量,指针的值是地址,指针可以修改从而指向其他空间。而C++中的数组名是不可修改的右值,它就不是个指针,这点记住了!!!参考:https://www.cnblogs.com/xiehongfeng100/p/4684825.html...

2019-06-24 17:31:40 110

原创 C#一点一点积累吧

1.读取文件https://blog.csdn.net/swin16/article/details/80256123下面使用try catch可以很方便判断文件是否存在,可以避免使用file.exist 提前判断文件是否存在try{ using (StreamReader reader = new StreamReader( path) ) { }}c...

2019-06-05 15:57:54 153

原创 unity obj模型文件数据与原文件不一致

参考:Normals&Tangents:https://www.cnblogs.com/Tearix/p/6939948.html?utm_source=itdadao&utm_medium=referralModel/Mesh相关属性:https://blog.csdn.net/Htlas/article/details/89030582在Unity中展开Obj文件...

2019-05-20 20:19:55 730

转载 Unity中的坐标系(转载)

这篇文章写的比较全,切线空间也有介绍。https://blog.csdn.net/ronintao/article/details/52136673

2019-05-15 15:53:39 143

原创 法线纹理实践(一)

以下内容来自《unity shader入门精要》切线空间下计算光照:光照方向,视角方向全部转换到切线空间下计算。世界空间下 计算光照:将从法线纹理上得到的法线方向转换到世界空间下,之后再和世界空间下的光照方向,视角方向进行计算。方法一:TANGENT_SPACE_ROTATION是一个宏,参考:https://blog.csdn.net/ronintao/articl...

2019-05-15 15:52:28 208

转载 切线空间与凹凸贴图(转载)

https://blog.csdn.net/bonchoix/article/details/8619624https://www.cnblogs.com/wangchengfeng/p/3470310.htmlhttps://blog.csdn.net/yjr3426619/article/details/81022781切线空间:https://www.cnblogs.com/al...

2019-04-08 02:05:58 223

转载 游戏开发中的噪声(转载)

https://blog.csdn.net/Sengo_GWU/article/details/80153638https://blog.csdn.net/qq_34302921/article/details/80849139https://zhuanlan.zhihu.com/p/22337544

2019-04-01 01:34:02 239

[游戏编程中的人工智能技术]

2017-03-12

C++大学教程第五版part1(中文)

C++大学教程第五版part1(中文)

2016-08-30

素因子分解,递归,c实现

C语言,用递归算法实现素因子分解,方法简洁明了

2015-11-06

数学建模2013试题A题

数模2013高教杯试题,只有A题。下载吧

2013-09-13

司守奎数模完整教材

数模完整教材,司守奎编著,完整教材哦,有各种算法

2013-05-22

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除