自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 Unity Shader 的模板测试效果

场景中可以看出,熊模型和茶壶模型都在差不多的位置,但是正面的框中只能看到熊模型,侧面的框中只能看到茶壶模型,利用的就是模板测试的原理。模板测试是渲染管线中逐片元操作的一环,它的作用是筛选出指定模板的片元,而不符合模板的片元会被舍弃,从而做到一个遮罩的效果。之后只要把对应模型的材质球的Mask Id调整成一致就好。以下是shader代码。

2024-01-16 13:32:31 496

原创 Python使用镜像源安装第三方库

【代码】Python使用镜像源安装第三方库。

2024-01-09 19:34:55 309

原创 实践:在模型空间下的法线纹理映射

总体写法基本参考的是世界空间的写法,只不过坐标,法线,切线,光线角度,观察角度都是用的模型参数,最终呈现的效果也和其他两个空间一样,记录一下。

2023-11-20 10:23:16 74

原创 基于UGUI和xLua的一个简单的UI框架

基于UGUI和xLua的一个简单的UI框架

2022-06-20 14:35:35 725

原创 Python生成协议脚本工具

最近项目里需要一个生成协议脚本的工具,因为有空闲时间就写了一个,协议文件是html格式,我们用requests库请求然后解析,然后生成cs代码,以下是代码:

2021-05-29 17:32:45 2087

原创 特效裁剪Shader

记录一下特效裁剪Shader的几句关键代码,以防之后忘记。Shader "Indra/Lowpoly Additive Clip"{ Properties{ _TintColor("Tint Color", Color) = (0.5,0.5,0.5,0.5) _MainTex("Particle Texture", 2D) = "white" {} _Wrap("明暗对比", range(-1, 1)) = 0 //-------------------add----------

2021-01-19 19:59:57 276

原创 Lua打印table中所有数据

function LuaHelps.PrintTable(t, name) local spaceAdd = 4 local function getTableStr(t, name, space) local str = string.format("%s%s = {\n", string.rep(" ", space - spaceAdd), (name or "table")) local init = false for k, v i.

2020-05-23 10:52:39 1787

原创 Python利用removebg库实现抠图

利用强大removebg库,我们可以不用PS就完成抠图,首先我们要去removebg注册一个账号,网站地址是:https://www.remove.bg注册好之后,我们获取一个APIKey,如下图:接着我们在网上找到一张测试图片:保存在桌面,重命名1.jpg打开PyCharm,先导入库pip install removebg然后写下如下代码:# -*- ...

2020-01-08 10:53:58 1435

原创 Python解析xml配置文件,生成cs代码

最近项目用的配置表是xml文件,每次要手动添加两个cs代码文件,很浪费时间,所以写了一个代码生成工具,以下是代码原始xml配置文件OutfitAffix.xml:<root version="2366"> <item _id="1" type="1" name="青铜" outfitType="[102,501]" affixAttr="{'201':6000}"...

2020-01-03 17:22:19 433

原创 Python库下载超时的解决方法

#2000为设置的超时时间,XXX为库的名称pip --default-timeout=2000 install XXX

2019-12-03 20:34:58 807

原创 数独解题器强化版

经过实际测试,在解决高难度数独时,解题器的效果仍旧不理想,所以添加了数字提示功能。另外添加了自定义数独数据功能。MainWindow.xaml<Window x:Class="SudokuSolver.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" ...

2019-10-14 15:22:40 2933 1

原创 WPF桌面应用实例(四):写一个数独解题器

数独是以前经常玩的游戏,很锻炼逻辑能力,今天写了一个数独解题器,基本可以在一分钟内解决问题,很方便。以下是代码:MainWindow.xaml<Window x:Class="SudokuSolver.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" ...

2019-10-12 18:01:34 501 2

原创 猜数字游戏

上班无聊,写了个猜数字游戏,童年的回忆啊。using System;using System.Collections.Generic;namespace NumGuess{ class Program { static void Main(string[] args) { List<int> resL...

2019-10-12 09:49:18 153

原创 Unity/UGUI底层绘制原理

UnityDraw.csusing System.Collections;using System.Collections.Generic;using UnityEngine;public class UnityDraw : MonoBehaviour{ public Texture2D TestTexture;//测试用贴图 void Start() {...

2019-09-11 09:52:30 1024

原创 关于贝塞尔曲线运动

游戏中我们有时候会碰到计算物体的曲线运动,贝塞尔曲线就变得比较常用。以下贴出主要代码:BezierData.csusing UnityEngine;using System.Collections;public struct BezierData{ private Vector3 p0; private Vector3 p1; private Vect...

2019-09-03 20:49:44 336

原创 Python利用pyautogui库模拟点击计算器计算

计算1+2+3+…+99+100的值:# -*- coding:utf8 -*-import pyautoguix = [0]*200y = [0]*200oneClick = pyautogui.locateCenterOnScreen('1.png')zeroClick = pyautogui.locateCenterOnScreen('0.png')for i in ...

2019-08-02 11:13:55 929

原创 Lua中的中文字符串(UTF-8)处理(获取长度、截取字符串)

function LuaHelps.GetCharSize(char)--获取单个字符长度 if not char then return 0 elseif char > 240 then return 4 elseif char > 225 then return 3 elseif char > 192 then return 2 else re...

2019-05-29 20:53:20 3291

原创 Lua中的IO使用

最近写一个功能,需要写入本地缓存文件,记录一下Lua的IO用法:local checkClickPath = Application.persistentDataPath.."/CheckClick.lua"function MafiaPrequelProxy:CheckRoleClick(uId)--检测玩家id是否点击过 local userStr = tostring(uId)....

2019-05-10 18:44:37 446

原创 Python简单实现Socket编程

Python可以很简单实现Socket的网络连接,简简单单30多行,实现客户端和服务器的初步效果。以下是代码:Server.py# -*- coding:utf8 -*-import sockethostname = '127.0.0.1' #设置IPport = 6666 #设置端口addr = (hostname,port)s = socket.socket()...

2019-04-28 18:41:42 252

原创 Python将图片转换成彩色字符图

# -*- coding:utf8 -*-import cv2charSize = 2#字符尺寸string = "$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. "count = len(string)img = cv2.imread('01.jpg')u, v,...

2019-04-28 12:16:03 2650

原创 Unity魔方拓展脚本(魔方打乱和复原功能)

接上文,因为懒得自己手动打乱魔方,所以写了一个打乱魔方的脚本,还有魔方复原方法,以下是代码:using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class CubePlayer : MonoBehaviour { p...

2019-04-16 10:32:26 1307

原创 Unity做一个魔方

最近项目周期变得平稳,不再像之前那么忙了,所以抽空写了个魔方小游戏,在这里跟大家分享。游戏原理并不复杂,在场景中,我们放了27个Cube,和6个面的触发器,根据触发器的Enter检测和Exit检测,确定对应面的子物体,使得触发器底下的9个Cube能同时转动,同时,再设置X,Y,Z三个轴向的整体转动,子物体是固定的27个Cube。有了思路以后,我们来做场景,做完场景以后,画面大概是这样:...

2019-04-15 10:40:32 3145 30

原创 Python下载酷狗音乐歌曲

最近想研究一下Python的图形界面,但是因为我的Python版本是2.7,没法用QT,所以试了试wxPython。效果还不错,虽然总体来说不如WPF好用和美观,但是做简单的应用程序足够了。作为练习,写了一个酷狗的音乐下载器,上代码:# -*- coding:utf8 -*-import wximport urllibclass App(wx.App): def OnI...

2019-04-08 18:48:18 2794

原创 Python图片置灰

# -*- coding:utf8 -*-import numpy as npimport cv2image = cv2.imread('bg_btn_zuo.png', cv2.IMREAD_GRAYSCALE)cv2.imwrite('grayImage.jpg', image)

2019-04-08 12:11:14 735

原创 WPF桌面应用实例(三):写一个工具关闭所有进程

因为最近上班会打开比较多的软件,导致下班的时候关闭软件也会花费比较多的时间,于是打算写一个关闭所有运行程序的程序。这就会运用到System.Diagnostics命名空间下的Process类,但是只是涉及到进程的获取和退出,我们不需要了解太多,记住几个关键的属性:Id, ProcessName,MainWindowHandle,还有Kill方法,基本上够用。MainWindowHandle...

2019-01-22 18:06:34 658 3

原创 Python打包exe应用程序

要打包应用程序,首先我们要导入PyInstaller库,我们可以在File/Setting菜单下添加。接着,我们打开Terminal窗口,输入指令:pyinstaller -F -w XXXXXXXX,代表需要打包的py文件路径,例如D://PythonPro/Other/Test.py-F,代表打包单个程序-w,代表打包窗体程序,不经过控制台...

2018-12-28 11:14:53 443

原创 Unity中实现动画回放功能

在制作游戏中,我们有时候会播放过场动画或者剧情动画,有时候会需要有动画重新看,或者拖动进度条看每一帧信息的需求,那么怎么办呢,我们需要实现一个动画重放系统,实现逻辑主要是依靠Unity自带的动画曲线类(AnimationCurve),储存游戏物体从动画开始始末的运动轨迹。然后我们用一个重播管理器去管理各项数据,像播放视频一样控制每帧的位置信息,实现重放。以下是核心的两个脚本:ReplayEnt...

2018-12-07 16:49:39 2727 2

原创 Lua中实现Switch功能

熟悉Lua的大家应该都知道,Lua中是没有Switch语法的,所以很多时候要条件判断的时候只有一条又一条的if 和elseif 去写,但是很多时候看上去很不直观,但是Lua的table类型其实相当强大。利用表结构和匿名函数,我们就可以实现Switch功能。以下是在项目中的一段应用代码:function UIActivityTemp.SetPageUIInfoWithIndex(index...

2018-12-07 16:10:53 5652 1

原创 Python中画柱形图分析数据(分析各国红酒的好酒占比数据)

最近有网友求助一个分析红酒数据画柱形图的问题,之前没画过柱形图,所以特意去研究了一下。分享一下画柱形图的方法,以下是代码:# -*- coding:utf8 -*-import matplotlib.pyplot as pltfrom numpy import *import randomimport csvdef ParseWineData():#解析数据 cou...

2018-11-22 21:04:07 1238

原创 Unity中使用LineRenderer画线条

using UnityEngine;public class Draw : MonoBehaviour{ [Header("线条预制体")] public GameObject linePrefab; // 线条渲染器 private LineRenderer line; // 顶点下标 private int i; void U...

2018-11-19 11:33:29 1567

原创 Unity中的截屏功能

using UnityEngine;public class CaptureScreen : MonoBehaviour{ void OnGUI() { // 截屏 if (GUILayout.Button("截屏")) { Debug.Log("截屏"); Cature();...

2018-11-19 11:19:18 231

原创 Unity中游戏卡牌滚动效果,EnhanceScrollview(适用于NGUI,UGUI)

最近项目中的活动面板要做来回滚动卡牌预览效果,感觉自己来写的话,也能写,但是可能会比较耗时,看到Github上有开源的项目,于是就借用了,Github的资源地址是:https://github.com/tinyantstudio/EnhancedScrollView,感谢作者tinyantstudio的分享。本篇博客旨在告诉大家如何利用这个插件。插件的核心在于工程中的6个脚本,以下是六个脚...

2018-11-16 12:20:46 6652 7

原创 Python三种排序算法的运行速度对比(快速排序、冒泡排序、选择排序)

最近看了一下快速排序算法,据说速度比其他的排序算法快,于是写了三个排序算法对比一下,分别是冒泡排序,快速排序,选择排序,以下是三个排序算法的代码:冒泡排序   BubbleSort.py# -*- coding:utf8 -*-def Sort(list): num = len(list) for i in range(0, num-1): isSor...

2018-11-15 10:50:34 1315

原创 Python创建决策树—解决隐形眼镜选择问题

现在我们碰到这样一个问题,一个人去医院想配一副隐形眼镜。我们需要通过问他4个问题,决定他需要带眼镜的类型。那么如何解决这个问题呢?我们决定用决策树。首先我们去下载一个隐形眼镜数据集,数据来源于UCI数据库。下载了lenses.data文件,如下:1 1 1 1 1 32 1 1 1 2 23 1 1 2 1 34 1 1 2 2 15 1 ...

2018-10-25 17:43:37 1355 3

原创 Python处理数据—生成散点图

Python作为一门工具,具有极强大的处理数据的能力,今天我们看一下如何用python生成数据散点图我们先新建一个TXT文件,里面存储10组数据,每组数据4个值,分别代表运动的时间,玩游戏所占一天时间的百分比,每周吃垃圾食品的次数,以及个人魅力的分类(1-3),如下:100.00 0.24 10.00 3150.00 0.30 12.00 2300.00 0.45 5.00 120...

2018-09-28 14:46:12 7197 1

原创 Python中的k—近邻算法(处理常见的分类问题)

最近买了一本机器学习的书,书名叫《机器学习实战》,刚学了第一个算法,k—近邻算法,所以写篇博客分享一下。 那么开始,我们假设平面坐标系上面有四个坐标点,坐标分别是[1.0, 1.1], [1.0, 1.0], [0, 0], [0, 0.1]然后这四个点有两个分类,分别是:['A', 'A', 'B', 'B']那么如果出现第五个点,我们怎么确定它,是A类还是B类呢,这...

2018-09-27 14:56:28 705

原创 Lua中使用协程

前一段时间在写游戏里的抽奖界面,会用到计时器,所以学了一点关于Lua中关于协程的用法,记录下来给大家分享首先我们要了解一下协程的生命周期,一个协程有四种状态:挂起(suspended),运行(running),死亡(dead)和正常(normal)我们先创建一个简单的协程:local co = coroutine.create(function() print("HelloWorld...

2018-09-18 11:56:26 931

原创 转表工具:Bytes转Lua

最近项目在做C#代码转换Lua代码重构,配置表用的Bytes类型文件,所以写了一个Bytes转Lua的转表工具,方便直接读取配置表数据,奈何主程不让用。以下是代码:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;...

2018-08-31 15:53:06 1103 2

原创 WPF桌面应用实例(二):写一个扫雷游戏

之前一直想自己写一个扫雷游戏,但是感觉用Unity又有点大材小用了,所有搁置下来,最近发现用WPF来做不是刚刚好嘛,这种小游戏,用WPF做起来真的得心应手。话不多说,我们开始:首先是页面布局,扫雷的界面是很多个小格子,统计了一下,是16*30,总共480个格子,这么多的数量的格子,我们不能直接在XAML界面上直接写了,只能在cs后台动态生成,计划是要布局两层格子,总共960个,然后格子外层我们要一...

2018-06-25 17:43:34 2239 4

原创 WPF桌面应用实例:做一个简单的计算器

虽然一直在玩VS,但是最近才发现,VS可以开发桌面应用,通过WPF,我们可以根据自己的需求定义想要的功能。实在是太方便了,话不多说,我们开始。VS的版本是2017,之前的版本应该影响也不大先讲一下基础的思路,首先我们会在界面上布局一个Border(边框),内包含一个TextBlock(文本),作为计算器的显示框。然后我们再添加一个UniformGrid(均匀分布网格),内包含12个Button(按...

2018-06-21 10:07:54 12028

空空如也

空空如也

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

TA关注的人

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