<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[书山有路勤为径]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wu5101608</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wu5101608]]></copyright><item><title><![CDATA[Shader错误集锦]]></title><link>https://blog.youkuaiyun.com/wu5101608/article/details/116922658</link><guid>https://blog.youkuaiyun.com/wu5101608/article/details/116922658</guid><author>wu5101608</author><pubDate>Mon, 17 May 2021 11:39:20 +0800</pubDate><description><![CDATA[前言
在学习Shader中，记录一些错误和解决方案
环境
引擎：Unity 2020.3.2f1
错误集锦


编译Shader发生invalid output semantic ‘SV_POSITION’: Legal indices错误时
 解决方案：在Unity高版本中，在顶点着色器函数中无需在声明输出的语义为SV_POSITION，只要删除这个SV_POSITION即可
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210517113810182.png)
]]></description><category></category></item><item><title><![CDATA[ShaderForge笔记之Lambert光照模型]]></title><link>https://blog.youkuaiyun.com/wu5101608/article/details/115974067</link><guid>https://blog.youkuaiyun.com/wu5101608/article/details/115974067</guid><author>wu5101608</author><pubDate>Thu, 22 Apr 2021 20:16:37 +0800</pubDate><description><![CDATA[前言
Lambert光照模型是经验模型，主要是用来模拟粗糙物体表面的光照现象。一束光入射到凹凸不平的物体表面，光线向四面八方被反射出去的现象叫漫反射。产生光的漫反射现象的表面物体叫理想漫反射物体，也叫Lambert反射体
知识储备
方向光：场景中一束平行的光源，有方向，有颜色，也有光的强度
法线方向：物体表面网格的法线方向
点积：也叫点乘，两个向量进行点乘计算，可以计算出a向量和b向量的位置关系，a·b&gt;0，说明a点在b点的后方，当a·b&lt;0，则反之a点在b点的前方
创建Shader资产
打开S]]></description><category></category></item><item><title><![CDATA[ShaderGraph第一天]]></title><link>https://blog.youkuaiyun.com/wu5101608/article/details/115666214</link><guid>https://blog.youkuaiyun.com/wu5101608/article/details/115666214</guid><author>wu5101608</author><pubDate>Tue, 13 Apr 2021 14:57:21 +0800</pubDate><description><![CDATA[前言
ShaderGraph是Unity推出的一个可视化编程渲染管线工具，目前版本已经更新到了10.4，我决定开始搞搞这个ShaderGraph，加深下自己在图形方面的知识
准备事项
Unity版本：2020.3.2
ShaderGraph版本：10.4.0
可以从PackageManager搜索ShaderGraph进行安装
创建ShaderGraph资产
新建一个ShaderGraph目录用来存放所有ShaderGraph资产文件，
![在这里插入图片描述](https://img-blog.csdni]]></description><category></category></item><item><title><![CDATA[Shader Forge界面功能简介]]></title><link>https://blog.youkuaiyun.com/wu5101608/article/details/74586766</link><guid>https://blog.youkuaiyun.com/wu5101608/article/details/74586766</guid><author>wu5101608</author><pubDate>Thu, 06 Jul 2017 18:00:14 +0800</pubDate><description><![CDATA[前言：
        新的项目开始，新的挑战也将来临。下个项目的Shader也要交给我去负责了，虽然之前只对Shader一知半解，但我还是个热衷学习的孩子。学习使我快乐，GO GO！












需求：
          新项目要做类似农药类型的游戏，那么主要是界面展示模型的时候，人物身上的材质表现效果，例如金属，布料等等。本来是想用Shader代码一]]></description><category></category></item><item><title><![CDATA[C++的string]]></title><link>https://blog.youkuaiyun.com/wu5101608/article/details/73911359</link><guid>https://blog.youkuaiyun.com/wu5101608/article/details/73911359</guid><author>wu5101608</author><pubDate>Thu, 29 Jun 2017 15:15:39 +0800</pubDate><description><![CDATA[C++中初始化string对象有这几种方式



string str;      //这样初始化时，str为空字符string str = "bbb";   //将右边的字符串字面值赋值给str字段string str1("AAA");   //用字符串字面值初始化str1string str2(str1);      //将str2初始化为str1的一个副本string str4(5,]]></description><category></category></item><item><title><![CDATA[C++类和对象]]></title><link>https://blog.youkuaiyun.com/wu5101608/article/details/73857010</link><guid>https://blog.youkuaiyun.com/wu5101608/article/details/73857010</guid><author>wu5101608</author><pubDate>Wed, 28 Jun 2017 18:01:11 +0800</pubDate><description><![CDATA[C++中类成员的访问修饰符，只需要定义开头，然后在这个定义区域内的所有成员的访问限定都是这个修饰符，不像C#一样每个成员都要去指定，当前未指定修饰符的成员默认是private。类的实例化也是有区别，C#是要通过new才能实例化出对象，而C++则不用，不用new实例化的对象，称为栈对象，也就是说在该作用域内结束后，自动会被释放内存，而用new实例化的对象，称为堆对象，堆对象则需要在不使用的时候手动释]]></description><category></category></item><item><title><![CDATA[TexturePacker的免费key获取方式]]></title><link>https://blog.youkuaiyun.com/wu5101608/article/details/72858368</link><guid>https://blog.youkuaiyun.com/wu5101608/article/details/72858368</guid><author>wu5101608</author><pubDate>Sun, 04 Jun 2017 12:48:35 +0800</pubDate><description><![CDATA[这里是TextruePacker的免费key的获取方法，首先在此感谢Andreas Low先生，他大方的为我们提供了免费获取TexturePacker lisence key 的方法，大家不用费心费力的去找破解版，只需要填写：http://www.codeandweb.com/request-free-license 这个链接即可，申请一般一天之内就会收到邮件回复的序列号了。
再次感情Textu]]></description><category></category></item><item><title><![CDATA[21微信公众平台开发教程第21篇-“可信网址”白名单]]></title><link>https://blog.youkuaiyun.com/wu5101608/article/details/38842853</link><guid>https://blog.youkuaiyun.com/wu5101608/article/details/38842853</guid><author>wu5101608</author><pubDate>Tue, 26 Aug 2014 09:10:05 +0800</pubDate><description><![CDATA[防欺诈警告

        不知道读者是否留意过这种情况：通过微信内置浏览器打开带有表单的页面，点击其中任何一个表单项都会在窗口顶部显示红色背景的防欺诈警告信息“防欺诈盗号，请勿支付或输入qq密码”，如下图所示。

                


        防欺诈警告是腾讯微信团队基于安全考虑而设计的，但这种设计会严重影响用户体验。微信公众平台有一个“可信网址”白名单，]]></description><category></category></item><item><title><![CDATA[C#抽象类及其方法的学习]]></title><link>https://blog.youkuaiyun.com/wu5101608/article/details/38715583</link><guid>https://blog.youkuaiyun.com/wu5101608/article/details/38715583</guid><author>wu5101608</author><pubDate>Wed, 20 Aug 2014 23:08:39 +0800</pubDate><description><![CDATA[在C#中使用关键字 abstract 来定义抽象类和抽象方法。

不能初始化的类被叫做抽象类，它们只提供部分实现，但是另一个类可以继承它并且能创建它们
的实例。


"一个包含一个或多个纯虚函数的类叫抽象类，抽象类不能被实例化，进一步
一个抽象类只能通过接口和作为其它类的基类使用."- C++ Programming Language by Stroustrup Chapter13.]]></description><category></category></item><item><title><![CDATA[TexturePacker 3.0 使用教程]]></title><link>https://blog.youkuaiyun.com/wu5101608/article/details/38339365</link><guid>https://blog.youkuaiyun.com/wu5101608/article/details/38339365</guid><author>wu5101608</author><pubDate>Fri, 01 Aug 2014 16:57:43 +0800</pubDate><description><![CDATA[文章转载自：http://www.fallhunter.com/p/10520

Posted on 2012/11/27 by fallhunter


————————————分割线———————————




著名的TexturePacker 已经升级到3.0了，下载地址： http://www.codeandweb.com/texturepacker



如]]></description><category></category></item><item><title><![CDATA[DragonBones快速入门指南]]></title><link>https://blog.youkuaiyun.com/wu5101608/article/details/38309527</link><guid>https://blog.youkuaiyun.com/wu5101608/article/details/38309527</guid><author>wu5101608</author><pubDate>Thu, 31 Jul 2014 00:36:20 +0800</pubDate><description><![CDATA[DragonBones快速入门指南
黄竣 (@fans8)



DragonBones快速入门指南采用知识共享协议3.0版本。


目录


DragonBones是什么？功能特色下载与安装设置教程源码下载教程1：针对设计师－使用DragonBones在Flash Pro中创建骨骼动画教程2：针对程序开发－在ActionSript项目中应用骨骼动画教程3：创建并控制多个动作]]></description><category></category></item><item><title><![CDATA[TypeScript让.Net开发人员更适应JavaScript]]></title><link>https://blog.youkuaiyun.com/wu5101608/article/details/38281215</link><guid>https://blog.youkuaiyun.com/wu5101608/article/details/38281215</guid><author>wu5101608</author><pubDate>Tue, 29 Jul 2014 23:16:29 +0800</pubDate><description><![CDATA[毫无疑问，您在 Microsoft .NET Framework 上投入了大量资金，它确实是功能强大的平台，提供很多实用的工具。 如果您同时拥有了
 C# 或 Visual Basic .NET 和 XAML 的知识，前途将不可限量。 但是，现在您需要考虑一种已经创立了一段时间的成熟语言，而且在过去几年内作为主要应用程序平台编程语言。 当然我要谈论的是
 JavaScript。 JavaScr]]></description><category></category></item><item><title><![CDATA[Unity3d网络游戏Socket通讯]]></title><link>https://blog.youkuaiyun.com/wu5101608/article/details/37999409</link><guid>https://blog.youkuaiyun.com/wu5101608/article/details/37999409</guid><author>wu5101608</author><pubDate>Sun, 20 Jul 2014 23:24:17 +0800</pubDate><description><![CDATA[unity3d网络游戏Socket通讯


网络游戏是一种人们娱乐休闲互交的应用软件。既然是互交，当然需要彼此间的了解通讯。要通讯那必须需要Socket：我们今天要实现的主角即套接字。Socket的英文原义是“孔”或“插座”，正如其英文原意那样，象一个多孔插座。一台电脑机器犹如布满各种插座的房间，每个插座有一个编号，有的插座提供220伏交流电，
 有的提供110伏交流电，有的则提供有线电视]]></description><category></category></item><item><title><![CDATA[在Unity3d的网络游戏中实现资源动态加载]]></title><link>https://blog.youkuaiyun.com/wu5101608/article/details/37901349</link><guid>https://blog.youkuaiyun.com/wu5101608/article/details/37901349</guid><author>wu5101608</author><pubDate>Thu, 17 Jul 2014 09:51:44 +0800</pubDate><description><![CDATA[用Unity3D制作基于web的网络游戏，不可避免的会用到一个技术-资源动态加载。比如想加载一个大场景的资源，不应该在游戏的开始让用户长时间等待全部资源的加载完毕。应该优先加载用户附近的场景资源，在游戏的过程中，不影响操作的情况下，后台加载剩余的资源，直到所有加载完毕。


本文包含一些代码片段讲述实现这个技术的一种方法。本方法不一定是最好的，希望能抛砖引玉。代码是C#写的，用到了Json，]]></description><category></category></item><item><title><![CDATA[Unity引擎链接mySQL数据库]]></title><link>https://blog.youkuaiyun.com/wu5101608/article/details/37899809</link><guid>https://blog.youkuaiyun.com/wu5101608/article/details/37899809</guid><author>wu5101608</author><pubDate>Thu, 17 Jul 2014 07:23:50 +0800</pubDate><description><![CDATA[1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35
]]></description><category></category></item><item><title><![CDATA[摄像机成像、畸变模型]]></title><link>https://blog.youkuaiyun.com/wu5101608/article/details/37757121</link><guid>https://blog.youkuaiyun.com/wu5101608/article/details/37757121</guid><author>wu5101608</author><pubDate>Mon, 14 Jul 2014 10:40:48 +0800</pubDate><description><![CDATA[一 摄像机成像模型

成像的过程实质上是几个坐标系的转换。首先空间中的一点由世界坐标系转换到摄像机坐标系，然后再将其投影到成像平面（摄像机的CCD），最后再将成像平面上的数据转换到图像平面（最后生成的图像）。




  图1-1

世界空间内的一个点在图像上成像的过程称为投影成像过程，这中间转换过程构成的矩阵M称为投影矩阵。



摄像机的畸变参数与相机成像时采用的分辨]]></description><category></category></item><item><title><![CDATA[Unity3D 进度条]]></title><link>https://blog.youkuaiyun.com/wu5101608/article/details/37598551</link><guid>https://blog.youkuaiyun.com/wu5101608/article/details/37598551</guid><author>wu5101608</author><pubDate>Wed, 09 Jul 2014 14:50:54 +0800</pubDate><description><![CDATA[在大场景加载时，都希望有一个进度条能显示当前加载的百分比，而不是卡在当前场景或者是直接黑屏。

 

Unity3D提供了一些函数供我们使用。

Application.LoadLevelAsync


using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
    ]]></description><category></category></item><item><title><![CDATA[Unity3d OnApplicationPause与OnApplicationFocus]]></title><link>https://blog.youkuaiyun.com/wu5101608/article/details/37598581</link><guid>https://blog.youkuaiyun.com/wu5101608/article/details/37598581</guid><author>wu5101608</author><pubDate>Wed, 09 Jul 2014 14:50:15 +0800</pubDate><description><![CDATA[在手机游戏当中，会碰到“强制暂停”,如:锁屏、接电话或短信之类的。如果“强制暂停”时间过长，网络游戏有时得重新登录等事件。

而Unity3d，Android Plugins中的UnityPlayer.UnitySendMessage,经测试在强制暂停时，OnPause、OnStop周期中UnitySendMessage无效。

重点探索OnApplicationPause和OnAppli]]></description><category></category></item><item><title><![CDATA[Unity3D中的弹道和移动目标提前量计算]]></title><link>https://blog.youkuaiyun.com/wu5101608/article/details/37598241</link><guid>https://blog.youkuaiyun.com/wu5101608/article/details/37598241</guid><author>wu5101608</author><pubDate>Wed, 09 Jul 2014 14:35:27 +0800</pubDate><description><![CDATA[弹道计算是游戏里常见的问题，其中关于击中移动目标的自动计算提前量的话题，看似简单，其实还是挺复杂的数学。网上这方面的资料还真不多，而且都是写的含含糊糊。抽空总结一下自己的方法。


讨论的前提是，假设目标是在3D空间里以匀速直线方式运动。


1.直线弹道
在不考虑重力和空气阻力影响的情况下，子弹的弹道呈直线运动。这种情况下，其实是个纯平面几何空间的问题，不需要微积分和线代知识。
]]></description><category></category></item><item><title><![CDATA[使用Unity3D开发项目的一点经验]]></title><link>https://blog.youkuaiyun.com/wu5101608/article/details/37593145</link><guid>https://blog.youkuaiyun.com/wu5101608/article/details/37593145</guid><author>wu5101608</author><pubDate>Wed, 09 Jul 2014 10:12:50 +0800</pubDate><description><![CDATA[我们主要使用3dsmax2010进行制作，输出FBX的类型导入Unity3D中。
默认情况下，3dsmax8可以和U3D软件直接融合，自动转换为FBX物体。
注意事项如下：
1.
面数控制
在MAX软件中制作单一Game
 Object物体的面数不能超过65000个三角形，即32500个多边形Poly，如果超过这个数量的物体不会显示出来，这就需要我们合理分布多边形和模型数量。
打开M]]></description><category></category></item></channel></rss>