自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (1)
  • 收藏
  • 关注

原创 Markdown使用

标题 # +内容 ## 类推。

2023-08-20 09:58:07 101

原创 Cohen Sutherland算法

图形学裁剪算法

2023-01-27 19:09:35 137

原创 直线的三种算法(包含各个象限)

直线算法

2023-01-23 19:49:09 276

原创 摄像机旋转公式 OpenGL

摄像机旋转公式

2023-01-12 11:41:57 138

原创 DeltaTime介绍

DeltaTime详解

2023-01-12 10:41:37 1838

原创 去除黑白以外的颜色 Shader

这个其实挺简单的直接取平均就好了void main(){ color = texture(screenTexture, TexCoords); float average = (color.r + color.g + color.b) / 3.0; color = vec4(average, average, average, 1.0);}但是人眼趋向于对绿色更敏感,对蓝色感知比较弱,所以我们对颜色的g、b 通道进行调整以更符合人眼对色彩的感知void main(){

2021-11-22 18:54:42 363

原创 Normal Matrix推导 (法向量变换矩阵)

法向量变换矩阵

2021-11-10 09:43:08 2308

原创 物体反射的颜色 OpenGL

以前光知道当光照射到物体身上时,物体将会吸收掉除自身颜色外的光源颜色(Source Light),反射出自身颜色(Object Light) 。但是到程序中却不知道该怎么理解。最近看到LearnOpenGL光源一章,其中给出了比较好的解释,下面贴上译文:我们在OpenGL中创建一个光源时都会为它定义一个颜色。在前面的段落中所提到光源的颜色都是白色的,那我们就继续来创建一个白色的光源吧。当我们把光源的颜色与物体的颜色相乘,所得到的就是这个物体所反射该光源的颜色(也就是我们感知到的颜色)。让我们再次审视我们

2021-11-06 15:51:40 448

原创 Gamma 和 Linear Space的设置 Unity

Gamma 和 Linear至于为什么会有 Gamma校正这个问题,网上有很多资料,这里就不赘述了可以看着这个视频Gamma校正与线性工作流入门讲解下面就讲我们如何选择在Unity中的色彩空间首先 进入 Edit ->Project Settings -> Player ->Other Setting -> Color Space这里的两个选项就是 Gamma 和 Linear 空间了。下面说的都是 基于导入的图片都是SRGB格式的,现在一般图片都是这个格式了,当

2021-08-29 10:45:19 2273

原创 广告牌 Shader

TA 广告牌 ShaderLab参考冯乐乐《Shader入门精要》首先有几个点先说一下首先就是开始构建 变换矩阵 用于将模型顶点旋转到面向摄像机 也即是法向量面向它然后还有将相机转换到模型空间下,因为是以模型中心为原点进行旋转,所以将相机转换到模型空间下好算点,其实也可以在世界空间下,就是记得最后旋转的时候要处理一下最后就是将模型顶点与变换矩阵相乘 最后得出面向摄像机的顶点,然后正常采样纹理就好了Pass{ Tags { "LightMode"="ForwardBas

2021-08-18 20:09:16 256

原创 滚动的背景 Shader

TA 滚动的背景 ShaderLab参考冯乐乐《Shader入门精要》frac函数是去float数后的小数部分的,它的图像是这样的然后下面还用到了lerp函数,这个函数大家应该挺熟悉的就是下面这个float lerp(a, b, c){ return (1- c)*a + c*b;}好,下面就是Subshader部分SubShader { Tags { "Queue"="Transparent" } pass{ Tags {

2021-08-18 13:43:05 183

原创 素数判定的三种解法

素数判定的三种解法做题发现暴力解法和它的升级版都会超时。。。。 //暴力解法的升级版 public int CountPrimesFun01(int n) { int count = 0; for (int i = 2; i < n; i++) { // 先把偶数去掉 if (i % 2 == 0 &&a.

2021-05-20 21:52:03 74

原创 N皇后问题

用的回溯法写的。其实主要还是当某点是皇后时,要把他所在列对角线标记成false,即不能添加皇后了。n:宫格的数量count: 一共有多少中放法columnIndex: 标记第i行 皇后的坐标columnFlag: 标记第i列是否可用MainFlag: 标记皇后所在点的主对角线是否可用SubFlag: 标记皇后所在点的副对角线是否可用提示: 当行减去列坐标时,主对角线相等当列减去行坐标时,副对角线值相等 class NQueen { private int

2021-05-19 11:59:27 76

原创 快速打包UnityPackage Unity

最近学习,遇到一个感觉写的挺好用的功能。就是当我们做项目时,可能中途会导出一些文件, 而我所要说的就是如何将快速打包。以次记录下学习路程下面贴代码:#if UNITY_EDITORusing UnityEditor;#endifusing System;using UnityEngine;using System.IO; public class LogFileName {#if UNITY_EDITOR [MenuItem("QFramework/1.

2021-03-25 21:04:43 1023

原创 动态血条UI相关 U3D

制作动态血条首先要先制作一个血条的预制体,其中应包括掉血UI、暴击、闪避等,为了美观还可给他们加上动画组件,根据自己的项目而定。制作好预制体后,就是在加载人物或敌人时通过代码给他们动态加载上。(本案例包括动画组件的播放)给预制体单独增加一个脚本,方便以后的管理下面是代码,也不难理解,产生掉血、暴击、闪避等效果时,直接调用这里面的函数即可using System.Collections;using System.Collections.Generic;using UnityEngine;us.

2021-02-20 09:22:45 208

原创 迭代器底层实现 C#

迭代器迭代器(iterator)是一种对象,用来遍历容器中部分或全部的元素.拿foreach的内部实现来举例。foreach可以用来遍历可枚举类型集合的元素,比如:数组,list,dictionary等其实就是用while语句来获取遍历集合的 IEnumerator接口 来不断的Movenext()(后面会介绍)来实现的.首先创建个类,继承两个接口:IEnumerator、IEnumerable. public class Test : IEnumerator,IEnumerable

2021-01-16 19:17:56 261

原创 移动滑杆控制(UGUI实现)Unity3D

最近学习,碰到个移动滑杆控制操作的代码,写的不错,在这里和大家分享一下类似这种:首先用UGUI创建个滑杆做好UI,添加个脚本,脚本中需要实现三个接口分别是:功能主要是实现拖拽和起始、结束时所触发的事件,具体可以在官网了解一下。滑杆要实现的功能有滑杆会出现手点击屏幕的位置,中心点(即控制角色移动)会随拖拽而移动,手离开屏幕滑杆会归回原位。代码实现如下:public class TouchDrag : MonoBehaviour, IDragHandler,IPointerDownHan

2021-01-09 22:24:28 682

原创 UI自适应 Unity

最近学习遇到了一个UI自适应的问题如下图:1335*750当切换到free aspect下经验条因为没有设置两边对齐就会出现间隙问题这几个小格子我是用的grid layout Group 来调整的,所以在自适应的时候,随着屏幕变化,只需要更改这个组件下的cellSize即可。首先看第一张图因为除经验条外其他的宽度都是固定大小的可以在其UI的rect transform组件下计算出其总宽度,然后再加上这十个经验条的总宽度就==屏幕的总宽度。然后就是小学生解方程就可以得出每个经验条的cell

2021-01-05 11:56:30 492

原创 数据类型及其存储分配 CSharp

变量类型分类 Object 引用类型 值类型 类 接口 委托 结构体 枚举类class:Object string , Form, Console等接口interface委托delegate结构体struct:int(Int32)float(Single)等枚举:horizontalAlignment , Visibility等至于 float int 为什么是结构体类型的 , 具体可以转到其定义下查看

2020-12-05 20:35:41 524

原创 飞机大战详解 C语言

因为要到期末考试了,是以作品的形式提交。所以用c++写个控制台小游戏岂不美哉(语言之间都是相同的, 什么语言不重要,主要是实现思想)主要是小游戏可以将类和继承等C++知识点可以很好的串接起来,而且也比图书管理系统等交互性不大的项目更加有趣。好了废话少说进入正题吧小游戏就以飞机大战为例吧首先说一下我对游戏的理解,游戏主要就是由动画、交互两大部分组成,而动画则是由一帧一帧的图片组成。所以要想在控制台中实现动画,那就要实现屏幕的刷新,就是把上一帧的图片给清除掉,清除的方法有很多,在这里就用最简单

2020-11-30 20:18:25 3035 3

原创 AssetBundle Browser(AB 包) 介绍

AssetBundle Browser(AB 包) 介绍AssetBundle-browser是一款用于处理AssetBundle的工具首先在 Window->PackageManager里找到AssetBundle 安装安装后是这样的一个面板是所有打包的模型打包设置面板Build Target:选择发布的平台Output Path:输出路径Clear Folders:构建之前清空文件夹Copy to StreamingAssets:拷贝至StreamingAsset

2020-11-29 15:20:32 2220

原创 c语言推箱子

作为一个c语言和easyx小白,写个推箱子,我真是太难了。下面贴源码,欢迎修正和改进前言:用到了easyx库#include<stdio.h>#include<conio.h>#include<stdlib.h>#include<easyx.h>#define width 10 //乘于图片大小=游戏框宽度#define ...

2020-04-10 21:30:49 401 4

原创 好奇怪的返回值

好奇怪的返回值#include <iostream>using namespace std;// 在此处补充你的代码getElement(int * a, int i){ return a[i];}int main(){ int a[] = {1,2,3}; getElement(a,1) = 10; cout << a[1] ; return 0...

2020-04-04 13:17:13 486

暗黑第五章资源文件.zip

暗黑第五章资源文件.zip

2021-01-13

空空如也

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

TA关注的人

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