自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wangjun的博客

主要作为笔记,也分享互相学习

  • 博客(49)
  • 资源 (3)
  • 收藏
  • 关注

原创 Unity多语言本地化解决方案

Unity多语言本地化解决方案1.前言说明2.使用说明2.1 配置表格2.2 导出2.3 使用1.前言说明此文只是对该解决方案(工程)的一种使用说明!!!也是从配置到实现方案使用的一种思路。示例场景也一目了然明确了如何使用。此解决方案实现由策划配置本地化表格,Unity中导入生成多种语言文本;使用时提供了组件以及代码设置接口,能够满足使用。导入配置表格用到了EEplus,Epplus是一个使用Open Office XML(Xlsx)文件格式,能读写Excel 2007/2010文件的开源组件。最

2021-03-10 17:40:11 1664

原创 U3D面试题目整理

1.如何优化内存,CPU,GPU开销参考Unity优化(上)、Unity优化(中)、Unity优化(下)2.协同程序实现原理协程不是多线程,协程还是在主线程里面。协程是一个分部执行,遇到条件(yield return 语句)会挂起,直到条件满足才会被唤醒继续执行后面的代码。Unity在每一帧(Frame)都会去处理对象上的协程。Unity主要是在Update后去处理协程(检查协程的条件是否满足),但也有写特例。通过设置MonoBehaviour脚本的enabled对协程是没有影响的,但如果g

2020-11-10 21:18:07 3701 1

原创 Unity TextMeshProUGUI点击超链接跳转

using System.Collections;using System.Collections.Generic;using TMPro;using UnityEngine;using UnityEngine.EventSystems;public class TestClickRichText : MonoBehaviour, IPointerClickHandler{ public TextMeshProUGUI text; public void OnPointer.

2020-08-25 16:48:56 4638 1

原创 unity Shade调整Sprite色相

// Unity built-in shader source. Copyright (c) 2016 Unity Technologies. MIT license (see license.txt)Shader "PX/U2D_HSVSprite"{ Properties { [PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {} _Color ("Tint", Color) =.

2020-06-02 13:34:59 1423

原创 unity BM美术字制作

unityBM美术字制作。

2020-06-02 09:20:00 179

原创 【Unity通用组件】抽奖转盘组件

通用的转盘实现,包括对抽到后转盘中奖品背景,文字修改。调用OnStartSpin()进行开始,此例子为测试,所以是完全在所有奖品中随机停止,使用时可根据情况传入EndAngle信息进行最终的停止位置设置; 角度修正参数:因为转盘奖品份数不同,最终指针指向位置可能有偏差,此参数进行调整最终指向奖品正中心。 using System.Collections;u...

2020-03-11 11:46:20 599 1

原创 Protobuf-net

1. 概述Protobuf是google开源的一个项目,用户数据序列化反序列化,google声称google的数据通信都是用该序列化方法。它比xml格式要少的多,甚至比二进制数据格式也小的多。Protobuf格式协议和xml一样具有平台独立性,可以在不同平台间通信,通信所需资源很少,并可以扩展,可以旧的协议上添加新数据Protobuf是在java和...

2020-03-10 13:44:48 669

原创 Substance Designer制作材质导入Unity

1.可在3d溜溜下载Substance Designer,可破解或试用;2.Unity2018及以上或版本靠近2018在Substance Designer制作材质导入后不能识别,需要在Unity商城下载Substance in Unity插件,如果Unity低版本直接支持就不需下载插件;3.SubStance Designer打开新建工程,建PBR材质;4.建PBR材质后如下...

2019-06-26 11:43:50 13017 1

原创 Go语言实现TCP消息发送

    Go语言实现TCP消息发送,一个服务器端一个客户端,客户端向服务器端发送消息显示到服务器端,当客户端发送exit则退出客户端。1.服务器端package mainimport ( "fmt" "net")func process(con net.Conn){ //循环接收客户端发送的数据 defer con.Close()//关闭con for{ //创...

2019-01-28 18:02:20 5240 3

原创 Go中反射(reflect)的应用

package mainimport ( "fmt" "reflect")type Monster struct{ Name string `json:"Name"` Age int `json:"monster_age"` Score float32 Sex string}//显示s的值func (s Monster) Print(){ fmt.Println(...

2019-01-25 17:38:33 325

原创 Go语言实现两个大数相加

       当两个数和超过int64时,就不能用提供的相加操作,也就是 两个很大的数相加时,怎样求得结果。       思路也就是人计算两个数时的思路,从末尾开始相加,该进位进位,并记录下进位,从末尾往首计算;两个长度不一的数,以短为准。      给出实例代码(有待优化):package mainimport ( "bufio" "fmt" "os" "strings...

2018-11-07 17:32:19 3145

原创 马踏棋盘算法(骑士周游算法)

将马按照走步规则,走遍8*8棋盘。#include<stdio.h>#include<time.h>#define X 8#define Y 8int chess[X][Y];//找到基于(x,y)位置的下一个可走的位置int nextxy(int *x,int *y,int count){ switch(count) { ...

2018-09-08 11:43:40 1775 1

原创 PhotonServer服务器利用NHibernate操作数据库与客户端交互(登录、注册、多人位置同步)

1. 服务器端1.1 服务器端工程准备        此次项目内容是对上两次的整和,所以前两篇博文是单个功能的基础,分别是①NHibernate和MySQL交互,②PhotonServer的使用。这次项目也是在这两个基础之上进行的,很多直接拷贝过来进行修改;数据库还是用mygamedb,所以对PhotonServer目录下deploy\bin_Win64中PhotonControl.exe.con...

2018-06-18 13:53:32 1105

原创 PhotonServer的使用

1. 配置环境        在photonserver官网(https://doc.photonengine.com)下载SDK,解压后放于一个英文目录,会得到 如下文件,并注册账户,然后下载Photon server Licenses,100ccu免费,然后将证书文件放于deploy\bin_Win64目录,deploy目录中deploy\bin_Win64下的PhotonControl文件是...

2018-06-16 17:11:57 1952 1

原创 NHibernate和MySQL交互

        NHibernate是一个面向.NET环境的对象/关系数据库映射工具。对象/关系数据库映射(object/relational mapping,ORM)这个术语表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去。        NHibernate 从数据库底层来持久化你的.Net 对象到关系型数据库。NHibernate 为你处理这些,远胜于你不得不写S...

2018-06-16 10:38:28 749

原创 C#从MySQL操作数据库

        添加引用MySql.Data.dll        users表如图                image表如图using System;using System.Collections.Generic;using System.Data;using System.IO;using System.Linq;using System.Text;using System....

2018-06-14 13:21:45 829

原创 有限状态机的实现

1. 概述          在游戏中存在各种的“状态”,不仅是角色的行为状态,还有例如场景的开始、加载、游戏中等状态,此次采用一个小案例实现有限状态机——一个NPC一个角色player,当角色player不在NPC视野内时NPC在固定的四个点之间巡逻,当player在NPC视野内时,NPC会追逐player,丢失跟踪后继续巡逻,player的移动采用在scene中手动移动。2. FSMState...

2018-06-12 21:55:59 1695

原创 本地化管理之多语言

        当要实现游戏中多种语言选择时,如果单个修改则非常麻烦;所以简便的方法即为将多种语言放于不同文件,按选择的语言进行加载;当然图片上的文字不同此方法实现。1. 语言文件的准备        将要进行可选择的语言列表放于不同文件,本次格式采用key=value格式,每个对之后换行。如下为中文和英文:2. 本地文件管理        加载运用单利模式,根据所选择的语言进行加载放于Resou...

2018-06-11 17:52:25 1273

原创 Unity中基于自定义资源配置实现对象池管理

        此次的实现效果是,将对象池可以批量管理,只需要提前将对象池的名字、预制体、最大数等配置好,存成资源配置文件,然后存于本地;运行时读取配置文件,将对象池信息存于字典中,当需要对应的实例对象时,只需给出对象的名字就可从对象池中取得。        做了一个自定义菜单实现点击菜单时,创建资源配置文件,以便手动的批量配置对象池。1. 对象信息及实例化取得对象1.1 对象信息及方法(Game...

2018-06-11 12:16:29 486

原创 Strangeioc框架

        用strangeioc框架实现简单的功能,但每个部分都包含;实现的功能:方块随机移动,会从服务器中随机得到一个分数,当鼠标点击到方块则加一分,并回传到服务器打印出来,且将分数存到模型中;当点击到方块时会有声音,声音的管理专门写了一个自定义窗口来管理所有的音效。        strangeioc框架可从GitHub上获取点击打开链接,也可在unity中Asset store中获取。...

2018-06-10 20:50:46 768

原创 Shader各种效果

1.Shader1.0的Alpha测试Shader "Hidden/AlphaTestShader1.0"{ Properties { _MainTex ("Texture", 2D) = "white" {} _AlphaTest("Alpha值",float) = 0 } SubShader { AlphaTest Greater [_AlphaTest] Pass...

2018-05-16 09:09:41 9868

原创 EasyTouch插件的使用

1.4.x的使用方式        4.x采用事件与委托的方式,将要执行的函数注册进EasyTouch的事件中,且场景中必须创建有EasyTouch游戏物体。using System.Collections;using System.Collections.Generic;using UnityEngine;using HedgehogTeam.EasyTouch;public clas...

2018-05-07 09:48:38 1012

原创 贪心算法

1. 贪心算法        对于许多最优化问题,使用动态规划算法来求最优解有些杀鸡用牛刀了,可以使用更加简单、更加高效的算法。贪心算法就是这样的算法,它在每一步做出当时看起来最佳的选择。也就是说它总是做出局部最优的选择,从而得到全局最优解。        对于某些问题并不保证得到最0优解,但对很多问题确实可以求得最优解。2.活动选择问题        有n个需要在同一天使用同一个教室的活动a1,...

2018-04-16 10:38:17 251

原创 动态规划-01背包问题

1.动态规划什么是动态规划,我们要如何描述它?        动态规划算法通常基于一个递推公式及一个或多个初始状态。当前子问题的解将由上一次子问题的解推出。        动态规划和分治法相似,都是通过组合子问题的解来求解原问题。分治法将问题划分成互不相交的子问题,递归求解子问题,再将他们的解组合起来,求出原问题的解。与之相反,动态规划应用于子问题重叠的情况,即不同的子问题具有公共的子子问题。在这...

2018-04-14 20:28:02 345

原创 动态规划-钢条切割问题

1.动态规划       什么是动态规划,我们要如何描述它?        动态规划算法通常基于一个递推公式及一个或多个初始状态。当前子问题的解将由上一次子问题的解推出。        动态规划和分治法相似,都是通过组合子问题的解来求解原问题。分治法将问题划分成互不相交的子问题,递归求解子问题,再将他们的解组合起来,求出原问题的解。与之相反,动态规划应用于子问题重叠的情况,即不同的子问题具有公共的...

2018-04-14 20:22:08 4589 2

原创

1.堆        堆是具有下列性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于等于其左右孩子结点的值,称为小顶堆!2.堆排序     堆排序算法就是利用堆(小顶堆或者大顶堆)进行排序的方法。      将待排序的序列构造成一个大顶堆,此时整个序列的最大值就是根节点。将它移走(跟堆的最后一个元素交换,此时末尾元素就是最大值),然后将剩余的n-1个序...

2018-04-14 20:11:58 168

原创 树_二叉树

1. 树1.1 什么是树1.2 树的存储结构存储结构一般是顺序存储和链式存储。树的关系复杂使用链式存储(1)双亲表示法(2)孩子表示法(3)孩子兄弟表示法2. 二叉树2.1 特殊的二叉树(1)斜树 左斜树 右斜树(2)满二叉树(3)完全二叉树2.2 二叉树性质(1)在二叉树的第i层上最多有2i-1个结点(i>=1)(2)深度为k的二叉树至多有2k-1个结点  20+21+22+23+24+2...

2018-04-13 16:21:03 143

原创 求最大子数组

1. 分治算法    分治策略是:对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并得到原问题的解。这种算法设计策略叫做分治法。可使用分治法求解的一些经典问题(1)二分搜索(2)大整数乘法(3)Strassen矩阵乘法(4)棋盘覆盖(5)合并排序(6)快速...

2018-04-11 15:36:45 301

原创 AssetBundle

1.AssetBundle的定义和作用用处? 1,AssetBundle是一个压缩包包含模型、贴图、预制体、声音、甚至整个场景,可以在游戏运行的时候被加载; 2,AssetBundle自身保存着互相的依赖关系; 3,压缩包可以使用LZMA和LZ4压缩算法,减少包大小,更快的进行网络传输; 4,把一些可...

2018-04-08 15:50:34 254

原创 字典Dictionary基本使用

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 字典{ class Program { static void Main(string[] args) ...

2018-04-07 15:26:31 750

原创 排序

排序        排序(Sort)是计算机程序设计中的一种重要操作,也是日常生活中经常遇到的问题。例如,字典中的单词是以字母的顺序排列,否则,使用起来非常困难。同样,存储在计算机中的数据的次序,对于处理这些数据的算法的速度和简便性而言,也具有非常深远的意义。        排序是把一个记录(在排序中把数据元素称为记录)集合或序列重新排列成按记录的某个数据项值递增(或递减)的序列。        ...

2018-04-04 20:22:46 156

原创 利用栈和队列判断回文

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace _404_栈和队列的应用{ class Program { static void Main(string[] ...

2018-04-04 08:39:02 5206

原创 C#实现链队

1. 链队    使用一个结点类Node,包含了数据域和指针域,定义了一个接口,和一个类实现接口。1.1 Node.csusing System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace _403_队列{ ...

2018-04-02 22:51:56 494

原创 C#实现顺序队列

1. BCL中的队列    BCL中实现了Queue,有队列的操作。1.1 Program.csusing System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace _403_队列{ class Progr...

2018-04-02 22:21:53 6589 1

原创 C#实现链栈

1. 链栈    定义一个结点类,包含数据域和指针域,并定义构造方法;定义了一个接口,再实现接口。1.1 Node.csusing System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace _402_栈{ ...

2018-04-02 21:04:56 783

原创 C#实现顺序栈

1. BCL中顺序栈    BCL中有Stack,实现了栈的操作。1.1 Program.csusing System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace _402_栈{ class Program...

2018-04-02 20:15:23 962

原创 C#实现一个顺序表和单链表

1. 顺序表    定义了一个接口类IListDS,在类SeqList中实现。1.1 IListDS.csnamespace _401_线性表{ interface IListDS<T> { int GetLength(); void Claer(); bool IsEmpty(); void Add(T...

2018-04-02 19:14:54 1145 1

原创 Excel操作

1. Excel文件读取操作    用到了一个xls表格,用来存储装备信息。表格信息如下。1.1 连接字符串  "Provider=Microsoft.Jet.OLEDB.4.0;"+ "Data Source=" + fileName + ";" + ";ExtendedProperties=\"Excel 8.0;HDR=YES;IMEX=1\"";  "Provider=Microsoft..

2018-04-01 13:54:08 129

原创 Json解析

1.Json操作    此次操作用到了"Json技能信息.txt",保存技能信息,和一个对应的Skill类。1.1 Json技能信息[{"id":2,"name":"天下无双","damage":133},{"id":2,"name":"天下无贼","damage":34},{"id":2,"n

2018-04-01 12:15:29 102

原创 读取并解析XML文件

1.读取XML文档此次操作的有一个TXT文档,定义了一个对应的类。1.1 SkillInfo.txt<skills> <skill> <id>2</id> <name lang="cn">天下无双</name> <damage>123&am

2018-03-31 13:36:21 810

unity实现防QQ红点拖动效果

unity实现防QQ红点拖动效果,拖动,还原,回调等,完美实现。

2022-07-19

MultipleLanguages.rar

Unity多语言本地化解决方案

2021-03-10

$P Point-Cloud Recognizer 点云手势识别 PPT介绍

$P Point-Cloud Recognizer 点云手势识别 介绍

2021-03-02

空空如也

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

TA关注的人

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