<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[dhj66039的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/dhj66039</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dhj66039]]></copyright><item><title><![CDATA[UnityShader - 渲染管线]]></title><link>https://blog.youkuaiyun.com/dhj66039/article/details/101416138</link><guid>https://blog.youkuaiyun.com/dhj66039/article/details/101416138</guid><author>dhj66039</author><pubDate>Mon, 23 Sep 2019 12:38:00 +0800</pubDate><description><![CDATA[定义: 显卡内部处理图像信号的并行处理单元,也称为渲染流水线
发生位置: CPU和GPU
渲染机理: 将图像所具备的图形信息(顶点、纹理、材质、摄像机位置等)经过一系列阶段的处理,最终转换为屏幕上的图像.
渲染流程:

应用阶段
几何阶段
光栅化阶段




应用阶段 Application Stage

发生位置: CPU
阶段目标: 准备渲染所需的几何信息,即渲染图元(render...]]></description><category></category></item><item><title><![CDATA[Unity - 2D物理关节]]></title><link>https://blog.youkuaiyun.com/dhj66039/article/details/101416145</link><guid>https://blog.youkuaiyun.com/dhj66039/article/details/101416145</guid><author>dhj66039</author><pubDate>Thu, 12 Sep 2019 11:17:00 +0800</pubDate><description><![CDATA[本文概述: 分析Unity中几个2D物理关节组件的基本功能、使用方法、运用场景等
开发环境:Unity2019.3.0a2 / VS2017
资源包:

源项目:2D Joints Starter
Github成品项目:Physics Joints in Unity2D

说明: 较比于源项目,我自行做了如下设置

主场景为Demo
对Unity新版本下的新参数进行解释
简单做了新的U...]]></description><category></category></item><item><title><![CDATA[Unity项目 - 坦克大战3D TankBattle]]></title><link>https://blog.youkuaiyun.com/dhj66039/article/details/101416143</link><guid>https://blog.youkuaiyun.com/dhj66039/article/details/101416143</guid><author>dhj66039</author><pubDate>Sat, 27 Jul 2019 16:09:00 +0800</pubDate><description><![CDATA[目录

游戏原型
项目演示
绘图资源
代码实现
技术探讨
参考来源


游戏原型

游戏玩法：在有界的战场上，玩家将驾驶坦克，代表绿色阵营，与你的队友一起击溃红蓝阵营的敌人，在这场三方大战中夺得胜利！
操作指南：

移动：WASD
开火：Space
第一/第三人称视角转换：PgDn
第三人称下的视角转动：← →



项目演示


Github项目地址：3D坦克大战 TankBattle...]]></description><category></category></item><item><title><![CDATA[Unity3D 跨平台原理]]></title><link>https://blog.youkuaiyun.com/dhj66039/article/details/101416136</link><guid>https://blog.youkuaiyun.com/dhj66039/article/details/101416136</guid><author>dhj66039</author><pubDate>Fri, 26 Jul 2019 12:29:00 +0800</pubDate><description><![CDATA[Unity3D的跨平台原理核心在于对指令集CIL(通用中间语言)的应用。

机理
首先需要知道，Unity中的Mono是基于通用语言框架CLI和C#的ECMA标准实现的，与微软的.NET框架有着诸多类似之处，因此分析Unity的跨平台性，本质即为分析.NET框架下C#语言从编译到运行的过程。首先抛出几个重要概念：

CIL：属于通用语言架构和.NET 框架的低阶编程语言，完全基于堆栈，...]]></description><category></category></item><item><title><![CDATA[Unity项目 - MissionDemolition 愤怒的小鸟核心机制]]></title><link>https://blog.youkuaiyun.com/dhj66039/article/details/101416134</link><guid>https://blog.youkuaiyun.com/dhj66039/article/details/101416134</guid><author>dhj66039</author><pubDate>Sat, 13 Jul 2019 15:16:00 +0800</pubDate><description><![CDATA[目录

游戏原型
项目演示
绘图资源
代码实现
注意事项
技术探讨
参考来源


游戏原型
爆破任务 MissionDemolition 是一款核心机制类似于愤怒的小鸟的游戏，玩家将用弹弓发射炮弹，摧毁城堡，最终目标是让发射的炮弹抵达城堡中心的目标区域。我们所希望实现的有：

当玩家鼠标光标处于弹弓区域内时，弹弓高亮，表示此时可以进行射击操作。
当玩家在该区域内按下左键，会实例化弹丸。玩...]]></description><category></category></item><item><title><![CDATA[规范书写游戏开发流程]]></title><link>https://blog.youkuaiyun.com/dhj66039/article/details/101416141</link><guid>https://blog.youkuaiyun.com/dhj66039/article/details/101416141</guid><author>dhj66039</author><pubDate>Sat, 13 Jul 2019 09:46:00 +0800</pubDate><description><![CDATA[本文旨在于规范化小游戏开发流程记录，适用于Unity或者UnrealEngine等物理引擎。可供个人开发时直接使用。
代表事例：Unity实现愤怒的小鸟核心机制，本例规范化格式文档下载：提取码: bf2v

目录

游戏原型

1A
1B
1C

项目演示
绘图资源

3A
3B
3C

代码实现
注意事项
技术探讨
参考来源


游戏原型
简要阐述游戏玩法，操作指南，注意事项。

项...]]></description><category></category></item><item><title><![CDATA[Unity项目 - 简单时钟 Clock]]></title><link>https://blog.youkuaiyun.com/dhj66039/article/details/101416133</link><guid>https://blog.youkuaiyun.com/dhj66039/article/details/101416133</guid><author>dhj66039</author><pubDate>Sun, 07 Jul 2019 19:44:00 +0800</pubDate><description><![CDATA[项目展示

Github项目地址：简单时钟 Clock
制作流程
表盘绘制：
采用Aseprite 像素绘图软件绘制表盘及指针。本例钟表素材大小 256x256，存储格式为png，但发现导入Unity后较为失真，建议256+像素或调整Unity内相关参数。
代码配置：
设置表盘、指针到合适位置，创建Clock.cs脚本挂载于表盘，编写代码：
public class Clock : Mo...]]></description><category></category></item><item><title><![CDATA[Sublime Text3 配置 Lua5.3.5开发环境]]></title><link>https://blog.youkuaiyun.com/dhj66039/article/details/101416139</link><guid>https://blog.youkuaiyun.com/dhj66039/article/details/101416139</guid><author>dhj66039</author><pubDate>Wed, 19 Jun 2019 22:58:00 +0800</pubDate><description><![CDATA[所需软件

Sublime Text3
Lua5.3.5

配置过程

解压Lua5.3.5包

官方下载的包内是需要makefile安装的(博主Win10下暂为实现)，此处提供自动配置完毕的包：Lua5.3.5 - 提取码qiiw


设置Lua环境变量

这台电脑-&gt;属性-&gt;高级系统设置-&gt;环境变量-&gt;用户变量，找到path，编辑-&gt;新建-&gt;C:\...]]></description><category></category></item><item><title><![CDATA[Unity项目 - 捡苹果 Apple Picker]]></title><link>https://blog.youkuaiyun.com/dhj66039/article/details/101416137</link><guid>https://blog.youkuaiyun.com/dhj66039/article/details/101416137</guid><author>dhj66039</author><pubDate>Fri, 07 Jun 2019 13:13:00 +0800</pubDate><description><![CDATA[项目展示

Github项目地址：Apple Picker
涉及知识

正投视图
3D场景内树与苹果的图层
记录最高分到本地

准备工作
模型制作：

基本模型创建

树叶：sphere 拉伸为椭圆形，绿色材质球
树干：cylinde 修改为合适尺寸，棕色材质球
苹果：sphere 附加深红金属光泽球
篮筐：cube 修改为合适尺寸，黄色材质球

位置、层级关系

调整树叶树干的位置搭配...]]></description><category></category></item><item><title><![CDATA[Unity项目 - Boids集群模拟算法]]></title><link>https://blog.youkuaiyun.com/dhj66039/article/details/101416131</link><guid>https://blog.youkuaiyun.com/dhj66039/article/details/101416131</guid><author>dhj66039</author><pubDate>Tue, 04 Jun 2019 21:01:00 +0800</pubDate><description><![CDATA[1987年Craig W.Reynolds发表一篇名为《鸟群、牧群、鱼群：分布式行为模式》的论文，描述了一种非常简单的、以面向对象思维模拟群体类行为的方法，称之为 Boids ，Boids 采用了三个核心的规则：

排斥性：避免与群体内邻近个体发生碰撞
同向性：趋向与邻近的个体采用相同的速度方向
凝聚向心性：向邻近个体的平均位置靠近

由此我们采用Unity来实现算法并演示，演示结果：
...]]></description><category></category></item><item><title><![CDATA[C#简介]]></title><link>https://blog.youkuaiyun.com/dhj66039/article/details/101416152</link><guid>https://blog.youkuaiyun.com/dhj66039/article/details/101416152</guid><author>dhj66039</author><pubDate>Mon, 03 Jun 2019 18:09:00 +0800</pubDate><description><![CDATA[目录：

是编译型语言

编译型
解释型

是托管代码
是强类型语言

强类型
弱类型

基于函数
面向对象

是编译型语言
编译型
C#，C++，BASIC等编译型语言，编程过程分为三个独立步骤：

编辑代码：编写高级语言的代码
编译代码：

编译：把代码从编辑语言转换为可执行文件，即源程序转换为目标程序
顺序：编译在执行前就翻译整个源代码

执行编译后的程序：应用程序.exe 或者 ...]]></description><category></category></item><item><title><![CDATA[Unity - 简单实例化的应用]]></title><link>https://blog.youkuaiyun.com/dhj66039/article/details/101416150</link><guid>https://blog.youkuaiyun.com/dhj66039/article/details/101416150</guid><author>dhj66039</author><pubDate>Sat, 01 Jun 2019 21:09:00 +0800</pubDate><description><![CDATA[项目描述：每帧实例化一个随机颜色的物体(Cube)，坐标在某范围内随机；且物体每帧都会缩小，当缩小到一定的尺寸时，就销毁物体
代码描述：
public class CubeSpawner : MonoBehaviour
{

    public GameObject cubePrefabVar;    //实例化物体原型
    public List&lt;GameObject&g...]]></description><category></category></item><item><title><![CDATA[Unity项目 - 吃豆人Pacman]]></title><link>https://blog.youkuaiyun.com/dhj66039/article/details/101416148</link><guid>https://blog.youkuaiyun.com/dhj66039/article/details/101416148</guid><author>dhj66039</author><pubDate>Sun, 26 May 2019 21:09:00 +0800</pubDate><description><![CDATA[项目展示


Github项目地址：Pacman
试玩下载：Pacman 吃豆人 提取码brkv
涉及知识

切片制作 Animations
状态机设置，any state切换，重写状态机
按键读取进行整数距离的刚体移动
用射线检测碰撞性
渲染顺序问题
单、多路径的实现
协程延时
Button 按键功能

准备工作
Pixels Per Unit：多少像素相当于Unity一个单位，迷宫M...]]></description><category></category></item><item><title><![CDATA[指针与数组]]></title><link>https://blog.youkuaiyun.com/dhj66039/article/details/101416155</link><guid>https://blog.youkuaiyun.com/dhj66039/article/details/101416155</guid><author>dhj66039</author><pubDate>Mon, 20 May 2019 21:20:00 +0800</pubDate><description><![CDATA[参考资料：

《深入理解C指针》
《指针的编程艺术》
数组指针和指针数组的区别——jack_孟
代码地址：PointerWithArray



数组：能用索引访问的同质元素连续集合(内存连续)

数组和指针的相似处
我们可以把数组下标用在指针上，即：
*(p + i) 等价于 p[i]
指针的加减运算对于数组同样实用，即数组名加减整数：
*(p + i) 等价于 *(array + i...]]></description><category></category></item><item><title><![CDATA[Unity项目 - 打砖块游戏]]></title><link>https://blog.youkuaiyun.com/dhj66039/article/details/101416153</link><guid>https://blog.youkuaiyun.com/dhj66039/article/details/101416153</guid><author>dhj66039</author><pubDate>Sun, 19 May 2019 17:50:00 +0800</pubDate><description><![CDATA[基本功能：实现WASD进行视角在XY轴方向的移动，其次按下鼠标左键产生子弹bullet对面前的砖块cube进行碰撞。
主界面：

运行情况：

动态过程：

项目地址：BreakBricks
制作过程：

创建平面plane做场景的地面
创建砖块的预制体Cube，包含信息有

碰撞体 Box Collider
材质 Cube Material
刚体 Rigidbody

复制砖块堆积创建...]]></description><category></category></item><item><title><![CDATA[Unity基本操作]]></title><link>https://blog.youkuaiyun.com/dhj66039/article/details/101416146</link><guid>https://blog.youkuaiyun.com/dhj66039/article/details/101416146</guid><author>dhj66039</author><pubDate>Sun, 19 May 2019 17:46:00 +0800</pubDate><description><![CDATA[主要内容：

C#学习
Unity项目

打砖块：BreakBricks

Unity操作

Unity操作：

调试
碰撞体
触发器
视角

键盘视角平移

光照贴图
游戏对象Gameobject

访问对象
实体化对象 Instantiate
得到组件
对象的移动

交互类

鼠标输入
键盘输入


调试
在某函数内进行Debug.Log(...)可实现调试检测，例如：
public...]]></description><category></category></item><item><title><![CDATA[博客园自定义主题样式]]></title><link>https://blog.youkuaiyun.com/dhj66039/article/details/101416151</link><guid>https://blog.youkuaiyun.com/dhj66039/article/details/101416151</guid><author>dhj66039</author><pubDate>Sat, 18 May 2019 20:12:00 +0800</pubDate><description><![CDATA[记录我在定制个人blog页面效果时遇到的技巧及方法等。
基本流程

设定博客皮肤为BluSky
定制首页代码：引入外部CSS

页顶博主名字及副标题
在首页html内输入以下代码可添加博主名到页面顶端，也可添加副标题：
&lt;header class="main-header" id="site-head"&gt;
        &lt;div id="top" class="ver...]]></description><category></category></item><item><title><![CDATA[明解C语言]]></title><link>https://blog.youkuaiyun.com/dhj66039/article/details/101416144</link><guid>https://blog.youkuaiyun.com/dhj66039/article/details/101416144</guid><author>dhj66039</author><pubDate>Fri, 17 May 2019 16:12:00 +0800</pubDate><description><![CDATA[本文为阅读书籍《明解C语言-中级篇》所积累的知识点及编译书本代码时遇到的问题。部分对应代码在\Code_2018\BK_明解C语言目录下。每个代码内都含有程序功能、思路、疑惑点等内容，如有疑问指出。

rand()

头文件：#include&lt;stdlib.h&gt;
格式：int rand(void);
功能：生成伪随机数，基于种子值(seed,默认为1)，按照特定规律生成的随机...]]></description><category></category></item><item><title><![CDATA[C指针基础知识]]></title><link>https://blog.youkuaiyun.com/dhj66039/article/details/101416149</link><guid>https://blog.youkuaiyun.com/dhj66039/article/details/101416149</guid><author>dhj66039</author><pubDate>Wed, 15 May 2019 12:29:00 +0800</pubDate><description><![CDATA[指针的声明
C语言声明格式:"类型 变量名;"

基本类型:int hoge;
指针类型:int *pointer;

区别在于:



声明
含义




int hoge;
声明整数类型的变量 hoge


int *pointer;
声明 "指向int的指针"类型的变量 pointer



关于int *pointer; 其:



指针类型
指向int的指针


指针类型的变量...]]></description><category></category></item><item><title><![CDATA[排序算法]]></title><link>https://blog.youkuaiyun.com/dhj66039/article/details/101416142</link><guid>https://blog.youkuaiyun.com/dhj66039/article/details/101416142</guid><author>dhj66039</author><pubDate>Wed, 15 May 2019 12:28:00 +0800</pubDate><description><![CDATA[动画过程参考：一像素 —— 十大经典排序算法

1. 插入类排序

1.1 直接插入排序
1.2 折半插入排序
1.3 希尔排序

2. 交换类排序

2.1 冒泡排序
2.2 快速排序

3. 选择类排序

3.1 简单选择排序



1. 插入类排序

插入类排序核心：在已经有序的序列中插入新的关键字。
默认都为升序排序

1.1 直接插入排序

假定数组 arr 首位元素 arr[...]]></description><category></category></item></channel></rss>