4 cchoop

尚未进行身份认证

热爱编程,热爱游戏

等级
TA的排名 3w+

AssetPostprocessor资源管理器类

unity资源导入时,进行一些处理using UnityEngine;using UnityEditor;/// <summary>/// 资源导入处理编辑器类,对导入的资源进行处理/// </summary>public class AssetPostprocessorEditor : AssetPostprocessor{ //模型导入之前调用...

2020-01-09 11:17:43

C#读取txt文件时中文乱码

解决方式:StreamReader reader = new StreamReader(txtUrl, Encoding.GetEncoding(“gb2312”));或者StreamReader sR = new StreamReader(filePath, System.[By cnblogs.com/GoCircle]Text.Encoding.Default)...

2020-01-07 11:54:16

任务系统的行为树设计

行为树从本质上来说,是一颗逻辑树,它把所有的行为逻辑用树形结构串联起来,仔细观察的话,可以发现行为树的核心思想有三个方面:逻辑分离逻辑关联逻辑抽象听上去很玄乎,其实是很简单的东西,可以先想想我们平时要做一个功能是怎么做的,我们会先定义一个函数,定义好输入和输出,然后在这个函数里写代码来实现功能逻辑,这是第一步,是最直接和简单的方式。后来,当这个功能越来越复杂的时候,这个函数里的代码就会...

2019-12-31 17:39:13

游戏引擎架构(记录)

第五章 游戏支持系统内存管理数据结构算法复杂度

2019-12-06 16:41:01

Tips

1.计算平方根在多数计算机上都是费时的运算,所以在计算向量的模长的时候尽量改用模的平方

2019-12-06 10:51:12

打AB包流程

1.设置lua的AssetBundle包将lua文本文件全部转成字节文件,并拷贝至指定的打包目录2.打包资源文件设置打包输出路径outpath,根据BuildTarget(打目标设备的包)讲lua字节码文件拷贝纸打包输出路径outpath开始打包BuildPipeline.BuildAssetBundle(outputPath,abList.ToArray(),options targ...

2019-12-04 15:22:10

UnityEditor.IMGUI.Controls学习笔记

UnityEditor.IMGUI.Controls 介绍TreeView Examples project: 下载TreeView Manual: 下载TreeView API Documentation: 下载MultiColumnHeader API Documentation: 下载最近看项目中的编辑器模块,发现大佬们写的Unity编辑器工具非常优美,查阅代码发现并没有用很牛...

2019-10-31 21:28:20

批量替换场景中的shader(Unity编辑器)

功能:根据指定的shade和目标shaderr替换场景中的shaderusing UnityEditor;using UnityEngine;using UnityEngine.SceneManagement;using System.Collections.Generic;public class ReplaceShaderByFileDir : EditorWindow{ ...

2019-07-27 19:51:41

UnityEditor编辑器——查找Missing资源

功能:查找出所有所有丢失资源(包括脚本、贴图、材质等)的prefab效果图:代码如下:using System.Collections.Generic;using UnityEngine;using UnityEditor;using System.Linq;public class MyFindMissingWindow : EditorWindow{ [MenuI...

2019-05-31 20:29:26

UGUI世界坐标转换为UI本地坐标(游戏Hud的实现)

近来在游戏实现一些功能时,原以为很简单的东西却难以实现,需要查大量资料才能去实现它,浪费了时间,降低了开发进度深感基础之薄弱,究其原因是在学习新知识时浅尝辄止,基础不牢靠,很多知识没有经过验证就跳过它,这对于学习来说是非常忌讳的,因此博主在此警醒自己,今后的学习要举一反三寻根问底。~~欲登高而穷目,勿筑台于浮沙!时间:2019年5月20日(520)实现世界坐标的原理是: 世界坐标和UGU...

2019-05-20 15:23:29

SubShader中的LOD

LOD英文全称Levels of Detail,意为多细节层次在shader中有很多个subshader,如果所有的subshader都不执行的话就,就执行fallback。每个subshader都可以设置一个LOD,整个shader也有一个LOD。系统就去找第一个LOD小于等于shader的LOD的subshader执行,其他的subshader就不会被执行。SubShader{ ...

2019-05-20 14:36:31

渲染队列

转载自:博客园 航者 关于Unity中LOD和渲染队列----渲染通道通用指令(一)渲染队列Unity的game视图的绘制顺序是先绘制前面的物体,再绘制后面的物体,因为如果是从后面开始绘制,那新的物体如果在前面把旧的物体挡住了,那旧的物体的绘制就是无效的,很浪费。不像2D是先绘制旧物体再和新物体叠加在一起。Unity会把物体分成几个绘制的队列,属于哪种类型的就丢到哪个队列里面,可以使得绘制的...

2019-05-20 14:36:16

相机旋转、缩放、平移

配合插件LeanTouch插件,相机旋转、缩放、平移(惯性)等操作using UnityEngine;using Lean.Touch;using System.Collections.Generic;public class CameraOperation : MonoBehaviour{ public enum CameraOperationType { ...

2019-05-06 14:25:52

如何快速熟悉一个老项目

加一个新的项目,通常要面临去熟悉项目基本内容及一些简单的功能,那么怎么做到让自己可以快速的去熟悉一个项目呢,下面就给大家分析分析。先玩游戏本身正常情况下,玩到一定级大部分的功能就熟悉了,对关键模块的内容就了解了。根据产品组成部分熟悉安装会有资源更新,这涉及bundle的管理以及大小包是怎么样设计游戏注册创建帐号,是什么做数据格式传输的,JSON还是protobuf,序列化和反序列化渠道...

2019-04-16 11:31:00

Lua闭包详解

转载地址:https://www.cnblogs.com/zzy-frisrtblog/p/5864209.html**词法定界:**当一个函数内嵌套另一个函数的时候,内函数可以访问外部函数的局部变量,这种特征叫做词法定界table.sort(names,functin (n1,n2) return grades[n1]>grades[n2]end) //内部匿名函数可以...

2019-02-20 10:17:10

UnityEditor批量替换文件夹下所有文件夹的后缀名

using UnityEditor;using UnityEngine;using System.IO;using System.Collections.Generic;public class ReplaceByFileDir : EditorWindow{ string filePath; Rect fileRect; string postfixName...

2019-01-25 11:58:30

Editor

using UnityEngine;using UnityEditor;using System;namespace JhonKit{ #region [Enum] public enum HaloEnum { Hi, Halo, Hello, Wow, } #endregion ...

2019-01-25 10:10:50

Protobuf语法格式学习

Protobuf消息定义消息由至少一个字段组合而成,类似于C语言中的结构。每个字段都有一定的格式。字段格式:限定修饰符① | 数据类型② | 字段名称③ | = | 字段编码值④ | [字段默认值⑤]限定修饰符包含 required\optional\repeatedRequired: 表示是一个必须字段,必须相对于发送方,在发送消息之前必须设置该字段的值,对于接收方,必须能够识别该字...

2019-01-15 17:31:50

Lua中的模块与module函数详解

这篇文章主要介绍了Lua中的模块与module函数详解,本文讲解了编写一个简单的模块、避免修改模块名的方法、模块名参数等内容,需要的朋友可以参考下很快就要开始介绍Lua里的“面向对象”了,在此之前,我们先来了解一下Lua的模块。1.编写一个简单的模块Lua的模块是什么东西呢?通常我们可以理解为是一个table,这个table里有一些变量、一些函数…等等,这不就是我们所熟悉的类吗?没...

2018-12-25 16:01:23

UnityEditor研究学习之创建一个窗口

创建一个窗口必须继承自EditorWindow类,然后一行代码搞定:ReplaceSharderEditor window = (ReplaceSharderEditor)EditorWindow.GetWindow(typeof(ReplaceSharderEditor));using UnityEditor;public class ReplaceSharderEditor : Edi...

2018-12-14 11:25:35

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。