<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Class_forName的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Class_forName</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Class_forName]]></copyright><item><title><![CDATA[欧拉角万向节死锁（从定义下手理解）]]></title><link>https://blog.youkuaiyun.com/Class_forName/article/details/107544187</link><guid>https://blog.youkuaiyun.com/Class_forName/article/details/107544187</guid><author>Class_forName</author><pubDate>Thu, 23 Jul 2020 18:55:11 +0800</pubDate><description><![CDATA[这个万向节死锁困扰了我好几天，查遍了网络上的博客，基本都是通过一个陀螺仪来讲解。这种讲解方式忽略了很重要的一点，让人难以理解，看我讲解。

欧拉角有两种

静态的，静态是世界坐标旋转不会有死锁的情况。

动态的，自身坐标随物体旋转而改变

从动态欧拉角我做了很多次测试发现并不能死锁，所以我从定义下手。

首先需要知道什么是一次欧拉旋转，不是某个轴旋转，而是沿着三个轴都旋转结束后称为一次欧拉旋转，我们想象一下，一个物体沿着y轴旋转45°，那这个物体的x轴和z轴是也跟着旋转吗？定义中的（自身坐标随物体旋转而改.]]></description><category></category></item><item><title><![CDATA[unity3d实现第一人称射击游戏之CS反恐精英（六）（朝准星位置发射子弹，更换弹夹 ）]]></title><link>https://blog.youkuaiyun.com/Class_forName/article/details/106932782</link><guid>https://blog.youkuaiyun.com/Class_forName/article/details/106932782</guid><author>Class_forName</author><pubDate>Tue, 23 Jun 2020 22:15:33 +0800</pubDate><description><![CDATA[上一节将UI简单的布置了一下，下面来实现UI中当前子弹数和总子弹数和脚本的数据绑定，并且发射子弹要朝着准星的位置发射

1：子弹和显示UI的子弹数的实现思路：在枪攻击的脚本里添加当前子弹数和背包子弹数两个变量，在发射子弹后当前弹夹子弹数减1，并且将当前子弹数显示到UI上

下面看代码

射击后子弹数减1，并且下面直接调用UI显示，这样就形成了数据绑定，使得UI的子弹数和脚本的子弹数保持一致


//弹夹内子弹数
    [SerializeField]
    private int currentBull]]></description><category></category></item><item><title><![CDATA[unity3d实现第一人称射击游戏之CS反恐精英（五）（第一视角UI搭建，血量，金钱，子弹，准心，倒计时）]]></title><link>https://blog.youkuaiyun.com/Class_forName/article/details/106921678</link><guid>https://blog.youkuaiyun.com/Class_forName/article/details/106921678</guid><author>Class_forName</author><pubDate>Tue, 23 Jun 2020 13:43:43 +0800</pubDate><description><![CDATA[这一节内容比较简单，就是构建UI在摄像机屏幕上，让玩家可以看到人物的状态，血量，防弹衣，倒计时，金钱，子弹，准心

下面看一下效果图



最终效果是这样的，所有的布局全是用UGUI的TEXT组件添加的，需要注意的是，将你的canvas放到离你游戏场景很远的地方，不要让玩家在游戏场景中观察到。



这张图就是UI布局，Timer是一个text文本，number是内容，我将所有符号和数字分离开了，方便下一步在修改数字的时候比较方便，想要效果好一点就去网上找图片素材，将text换成Image组件，游戏体验会好]]></description><category></category></item><item><title><![CDATA[unity3d实现第一人称射击游戏之CS反恐精英（四）（子弹模块，音效特效）]]></title><link>https://blog.youkuaiyun.com/Class_forName/article/details/106888476</link><guid>https://blog.youkuaiyun.com/Class_forName/article/details/106888476</guid><author>Class_forName</author><pubDate>Tue, 23 Jun 2020 00:59:40 +0800</pubDate><description><![CDATA[实现思想

由于子弹的速度非常快，直接让子弹像现实中那样移动很容易发生’穿模‘现象，所以我们用unity中的射线来实现，当用户点击鼠标左键的时候，播放开枪动画，火花特效，开火音效，枪口发射一条射线，检测到碰撞器后再根据物体上的位置添加特效贴图。如果是敌人就根据位置去减血（因为网络模块还没有做，这一块后面来实现）

整理下流程图 ，黑色现在不实现



下面开始具体实现




...]]></description><category></category></item><item><title><![CDATA[unity3d实现第一人称射击游戏之CS反恐精英（三）（人物旋转限制和跳跃功能（消除连跳，碰撞消除，高度稳定））]]></title><link>https://blog.youkuaiyun.com/Class_forName/article/details/106089266</link><guid>https://blog.youkuaiyun.com/Class_forName/article/details/106089266</guid><author>Class_forName</author><pubDate>Sun, 21 Jun 2020 14:29:00 +0800</pubDate><description><![CDATA[1旋转限制

上文实现的代码，我们的人物可以后空翻和前空翻，这不是我们想要的，所以我们需要对视角进行限定。

先分析一下，人物抬头不能让他超过某个角度，也就是抬头的时候我们人物的z轴和世界的y轴的夹角不能小于15度（我自己定义的），左右因为是沿着世界的y轴旋转所以不会有问题。下面看代码实现。


      //自身坐标的z轴与世界的y轴要小于某个角度，负方向也是如此
        if (Vector3.Angle(this.transform.forward, Vector3.up)&lt;=15&a]]></description><category></category></item><item><title><![CDATA[unity3d实现第一人称射击游戏之CS反恐精英（二）（人物的移动和场景的碰撞关系）]]></title><link>https://blog.youkuaiyun.com/Class_forName/article/details/106039281</link><guid>https://blog.youkuaiyun.com/Class_forName/article/details/106039281</guid><author>Class_forName</author><pubDate>Sun, 21 Jun 2020 14:28:48 +0800</pubDate><description><![CDATA[上一节我们简单的实现了第一人称的移动，但是只是让枪有了漫游的效果，本章来实现它的物理效果。

1 先给枪添加一个碰撞器组件，为了简单我们添加一个box collider来模拟碰撞

调整下碰撞器大小，将它设置成如下的长方体，我们来模拟下人物的碰撞。



由于场景是自带碰撞器的所以我们不用给场景添加碰撞器组件。

然后给你的 “人物”（这个碰撞器所挂载的空物体我将它叫做人物）添加一个刚体。



我们此时运行跑一下发现确实穿不了墙了，但是人物会被碰撞后左右上下乱滚，怎么解决呢。

我首先将刚体组件的Cons]]></description><category></category></item><item><title><![CDATA[unity3d实现第一人称射击游戏之CS反恐精英（一）（第一人称移动）]]></title><link>https://blog.youkuaiyun.com/Class_forName/article/details/106028641</link><guid>https://blog.youkuaiyun.com/Class_forName/article/details/106028641</guid><author>Class_forName</author><pubDate>Sun, 21 Jun 2020 14:28:38 +0800</pubDate><description><![CDATA[学习unity有一段时间了，自己准备做一个cs的项目来巩固并且提升自己。

第一步：搭建场景

因为这个游戏只针对游戏逻辑为重点，所以搭建场景和人物素材我都从unity asset store中的免费资源下载：所以先找一个场景。



就用这个unity提供的免费的场景把

场景大概是这个样子的



上面的场景我将一些特效给禁用掉了。

接下来再去找一把枪



将这个枪的素材导入，在预制件中选择一把。

注意把场景中的摄像机去掉，我们自己加一个摄像机并且调整摄像机和枪的位置。大概是下图的位置



将摄]]></description><category></category></item><item><title><![CDATA[游戏开发的数学知识（二）背刺高伤害 unity3d]]></title><link>https://blog.youkuaiyun.com/Class_forName/article/details/106884126</link><guid>https://blog.youkuaiyun.com/Class_forName/article/details/106884126</guid><author>Class_forName</author><pubDate>Sun, 21 Jun 2020 13:19:45 +0800</pubDate><description><![CDATA[原视频链接https://www.bilibili.com/video/BV1Yt411p7Nj?p=2

        https://www.bilibili.com/video/BV1Yt411p7Nj?p=3

我们在做fps或者rpg游戏的时候经常会遇到这种需求，从背后攻击敌人的时候，敌人会受到更高的伤害。这个需求如何实现呢，这一节来讲解总结。

看图，蓝色是玩家player，红色是敌人enemy,v是player自身的forword，br是enemy指向player的向量，
...]]></description><category></category></item><item><title><![CDATA[游戏开发的数学知识（一）三维向量绕某一向量旋转]]></title><link>https://blog.youkuaiyun.com/Class_forName/article/details/106879915</link><guid>https://blog.youkuaiyun.com/Class_forName/article/details/106879915</guid><author>Class_forName</author><pubDate>Sun, 21 Jun 2020 01:41:17 +0800</pubDate><description><![CDATA[最近在b站看到的某up主搬运了youtube大佬的游戏开发数学知识所以这里总结一下每一节讲的游戏开发中的数学问题

原视频链接https://www.bilibili.com/video/BV1Yt411p7Nj?p=1

第一节讲解了三维向量绕某一向量旋转角度

下图中是v向量绕着n向量旋转θ角度的透视图，v向量是需要旋转向量，v'是旋转后的向量，n向量是旋转轴，p向量是v向量在n向量的投影，e向量是v-p，f向量是v向量和p向量的叉乘但是大小等于e向量（也就是旋转轨迹构成的圆的半径）,e'向量是旋转后.]]></description><category></category></item><item><title><![CDATA[2048完整项目 项目需求和项目设计以及框架的构思]]></title><link>https://blog.youkuaiyun.com/Class_forName/article/details/106298011</link><guid>https://blog.youkuaiyun.com/Class_forName/article/details/106298011</guid><author>Class_forName</author><pubDate>Wed, 03 Jun 2020 16:40:22 +0800</pubDate><description><![CDATA[这次准备做一套完整的2048项目，你会想，这太简单了吧！不不不，这次我是从项目设计，架构搭建，素材准备，开发，特效，测试，一套流程。当你整个流程完整的独立做下来，你会收获很多。

今天来说第一步，项目需求和项目设计。

项目需求

1：手机游戏9*16

2：核心玩法：4*4的格子中一开始有两个数字（2或者4）在随机的位置上，玩家右滑动屏幕所有数字在当前行向右靠，
并且当相邻的（空的不算）数字相等的时候将这两个数字相加，当三个数字相等的时候先相加右边，
并且每个数字只能相加一次，加完以后要将这一行所有的数字]]></description><category></category></item><item><title><![CDATA[unity做一个小游戏（适合零基础或者巩固加深unity中的工具类的用法）]]></title><link>https://blog.youkuaiyun.com/Class_forName/article/details/105982993</link><guid>https://blog.youkuaiyun.com/Class_forName/article/details/105982993</guid><author>Class_forName</author><pubDate>Thu, 07 May 2020 22:36:58 +0800</pubDate><description><![CDATA[今天跟着官方unity做了一个小游戏。巩固一下之前学习的unity的知识。注意unity的版本要在2018.3以上

大概游戏是这样子的如图：人物只能控制左右移动，空格发射饼干，动物从屏幕上方随机出现在左右的位置并且向下移动，当饼干打中动物的时候，动物和饼干都消失。下面将具体实现细节；



首先从unity官方地址下载该游戏所需要的素材包；

https://connect.unity.com/...]]></description><category></category></item><item><title><![CDATA[C#实现2048小游戏]]></title><link>https://blog.youkuaiyun.com/Class_forName/article/details/105523908</link><guid>https://blog.youkuaiyun.com/Class_forName/article/details/105523908</guid><author>Class_forName</author><pubDate>Wed, 15 Apr 2020 19:17:24 +0800</pubDate><description><![CDATA[最近准备学习游戏开发，所有学习了下c#并且用c#写了一个2048小游戏，现在将这款游戏的核心算法给总结一下。

先对游戏的基本规则：1：游戏是一个4*4的矩阵

                  2：用户可以上下左右移动

                  3：每次移动后会在空的地方随机生成2或者4，但是移动后没有变化则不...]]></description><category></category></item><item><title><![CDATA[int型数无符号（>>>）右移大于等于32位   i>>>32分析]]></title><link>https://blog.youkuaiyun.com/Class_forName/article/details/78546467</link><guid>https://blog.youkuaiyun.com/Class_forName/article/details/78546467</guid><author>Class_forName</author><pubDate>Thu, 16 Nov 2017 00:01:49 +0800</pubDate><description><![CDATA[int型数无符号（>>>）右移大于等于32位   i>>>32分析]]></description><category></category></item><item><title><![CDATA[java面向对象的概念总结]]></title><link>https://blog.youkuaiyun.com/Class_forName/article/details/78512238</link><guid>https://blog.youkuaiyun.com/Class_forName/article/details/78512238</guid><author>Class_forName</author><pubDate>Sun, 12 Nov 2017 15:44:59 +0800</pubDate><description><![CDATA[java面向对象的概念总结：抽象 封装，继承，多态]]></description><category></category></item><item><title><![CDATA[ajax在JavaScript的使用：异步传输，局部刷新]]></title><link>https://blog.youkuaiyun.com/Class_forName/article/details/78429784</link><guid>https://blog.youkuaiyun.com/Class_forName/article/details/78429784</guid><author>Class_forName</author><pubDate>Thu, 02 Nov 2017 21:48:31 +0800</pubDate><description><![CDATA[ajax在JavaScript的使用：异步传输，局部刷新]]></description><category></category></item><item><title><![CDATA[Jdbc连接数据库的步骤]]></title><link>https://blog.youkuaiyun.com/Class_forName/article/details/78290426</link><guid>https://blog.youkuaiyun.com/Class_forName/article/details/78290426</guid><author>Class_forName</author><pubDate>Thu, 19 Oct 2017 22:44:14 +0800</pubDate><description><![CDATA[jdbc连接数据库一般分为6大步骤（连接数据库最快的方式，效率最高的方式因为jdbc是连接数据库是目前最底层的）
    

     jdbc的介绍  jdbc是sun公司定义的用java去连接数据库的一套接口 ，定义这套接口的目的是为了链接不同的数据库（如果没有jdbc的话，连接每种不同的数据库都需要用不同的方式，那就太麻烦了，如果你新接触到一种数据库，难道还再去学习一遍怎么连接数据库？]]></description><category></category></item></channel></rss>