5 海王星很危险

尚未进行身份认证

文能聊需求忽悠人,武能编代码写功能

等级
TA的排名 7w+

Unity游戏性能优化 MaterialPropertyBlock

Unity游戏性能优化 MaterialPropertyBlock1.概念2.对比2.1 Material(Instance)2.2 SharedMaterial2.3 MaterialPropertyBlock3.使用3.1 MeshRenderer3.2 SpriteRenderer1.概念顾名思义,就是保存材质属性的块,相当于将其抽象为一个大型机械上的可拔插的零件,这样就不需要在每次调用时都得换一个机械了,减少内存占用。2.对比2.1 Material(Instance)每一个Materia

2020-05-22 20:39:57

DrawCall漫谈

感觉现在对于DrawCall的解释十分专业,并不能很好的理解。网上对于DrawCall的定义通常是CPU对GPU的一次调用。但是一旦理解了一个本质,DrawCall就能被抽象成很通俗易懂的东西:图形学的本质就是往屏幕上画东西。那DrawCall是什么,DrawCall就是画笔,在Unity中有DrawCall合批的概念,什么样的DrawCall能够合批呢,就是那些同材质、同贴图的,那这个时候把材质和贴图理解为颜料。每次DrawCall的调用,就是在往一个图层上画画,如果你要使用不同的颜料,那么肯定得换

2020-05-22 20:20:49

空间管理 详解八叉树

空间管理 八叉树前言数据结构插入删除查询前言首先先明确一个概念,八叉树只做空间管理,而碰撞相关的检测是另外的东西数据结构插入删除查询...

2020-01-19 19:31:23

图形学 画线算法

1.DDA 画线法将乘法减少,只剩下加法y=kx+by=kx+by=kx+b2.中点画线法改进效率,将浮点加法变为整数加法Ax+By+C=0Ax+By+C=0Ax+By+C=03.Bresenham 画线法

2019-10-30 16:37:47

Unity问题记录(三)UpdateScreenManagerAndInpit

Unity问题记录(三)UpdateScreenManagerAndInpit占用大量CPU问题解决方案问题空项目中 UpdateScreenManagerAndInpit在Profile中显示占用大量CPU解决方案1.把无用的usb拔掉2.将第二块屏幕的连接线拔掉...

2019-09-04 15:46:25

Unity问题记录(二)自定义EditorWindow,当资源发生变化时,报Operation is not valid due to the current state of the object

Unity问题记录(二)自定义EditorWindow,当资源发生变化时,报Operation is not valid due to the current state of the object1.问题2.原因3.解决方案1.问题自定义EditorWindow,当资源发生变化时,报InvalidOperationException: Operation is not valid due t...

2019-08-08 15:40:11

Unity战斗框架 技能框架

Unity战斗框架 技能框架1.简介2.技能对象2.1 技能触发2.2 技能执行2.2.1 技能单元处理器2.3 技能接受2.技能流程2.1 初始化流程1.简介该框架基本可以概括为以下这句话:释放某技能后,先左斩一下(播个动画放个特效),触发怪物浮空,再点一下,右斩一下(播个动画放个特效),触发怪物掉血伤害先左斩后右斩,说明技能需要是一个链状的触发结构再点一下,技能链间需要有对应的连接...

2019-08-05 18:00:12

Unity3D资源管理——Excel表自动生成代码文件(优化版)

Unity3D资源管理——Excel表自动生成代码文件(优化版)1.旧版本代码1.新版本代码核心逻辑可以使用代码模板来进行代码的替换,摒弃之前的使用硬写的方式进行编码,提高可读性1.旧版本代码 private static string GenerateCode(string fileName) { StringBuilder code = new StringBui...

2019-08-01 16:58:13

Unity战斗框架 优化Animator动画状态机排线

Unity战斗框架 优化Animator动画机排线1.优化前后效果图2.优化方法3.优劣1.优化前后效果图优化前优化后2.优化方法前后的布线差距非常大,简直是从一团乱麻变味了井井有条,这一切都得益于AnyState状态,即中间状态。通过一个枢纽进行转发,有利于梳理状态之间的关系。PS:配置AnyState要注意将这个选项取消掉,不然会出现鬼畜状态,即一直从自身切回自身3....

2019-07-23 11:04:56

UnityShader开发之死亡消融效果

UnityShader开发之死亡消融效果Shader "Unlit/Dissolve"{ Properties{ _Diffuse("Diffuse", Color) = (1,1,1,1) _DissolveColorA("Dissolve Color A", Color) = (0,0,0,0) _DissolveColorB("Dissolve Color B", Colo...

2019-07-22 20:57:16

Unity问题记录(一) git上传 场景中物体出现代码丢失

Unity问题记录(一) git上传场景中物体出现代码丢失1.问题2.原因3.解决方法1.问题git上传场景后出现场景中的GameObject上的组件丢失2.原因由于组件是存在与外部工程(.dll)中,但是存储dll的文件夹的.meta文件没上传,导致Unity没找到对应的组件3.解决方法上传存储文件夹的.meta文件...

2019-07-12 11:46:08

Unity3D相机系统 视线上有碰撞体 透视

Unity3D相机系统 视线上有碰撞体 透视1.使用场景2.算法2.1 逻辑2.2 核心代码1.使用场景让人感觉很屌,这就够了可以使用在FPS外挂上(?)2.算法2.1 逻辑从相机射出一条射线(视线)指向聚焦的物体如果视线上出现碰撞体,则修改其材质的透明度,并缓存如果移出碰撞的视线后,则将之前的缓存的碰撞体的材质的透明度设置回原来的,并置空2.2 核心代码 ...

2019-07-02 19:40:02

Unity3D相机系统 屏幕震动

Unity3D相机系统 屏幕震动1.使用场景2.算法2.1 逻辑2.2 核心代码1.使用场景屏幕震动通常被用来添加代入感,例如被巨物击中时、打击到对手时触发震动,都将带给用户更强的打击感。2.算法2.1 逻辑缓存初始位置每一帧取得以初始位置为球型的空间中的一个随机点,将位置赋值给相机震动完后将相机位置恢复为初始位置2.2 核心代码赋值需要的数据 /// ...

2019-07-02 19:06:55

数据结构笔记(邓俊辉 学堂在线课程) 排序算法

数据结构 排序算法气泡排序归并排序选择排序插入排序气泡排序(向量)遍历序列,当检测到序列中有相邻的不无序对则交换他们的位置最坏的效率为O(n^2)优化举措:(1)当在遍历时,如果后续的序列时有序的,应当规避掉无用的遍历,即在每次遍历时都应缓存下当前无序的最右侧元素的秩,用作下次遍历时使用归并排序(向量)将无序的序列划分为左右两个子序列最坏效率 为O(nlogn)选择排序(...

2019-06-15 10:52:03

Unity战斗框架 动画驱动的角色连击系统

战斗框架 动画驱动的角色连击系统功能实现技能信息类角色控制类功能利用动态添加动画事件,驱动技能相关的释放点击J进行攻击释放每次点击需要在下一段攻击时才会生效实现技能信息类using System;using System.Collections.Generic;using System.Linq;using System.Text;public class Skill...

2019-06-05 20:52:15

MySQL 数据库、表的创建、导出与C#代码的增删改查

MySQL 数据库、表的创建、导出与增删改查

2019-05-21 21:26:25

FinalIK 中 FABR IK 算法解析

FinalIK 中 FABR IK 算法解析1.算法分析1.1 骨骼位置演算2.实现2.1 逻辑流2.2与CCD的区别1.算法分析FABR IK,即 Forward and Backward Reaching Inverse Kinematics1.1 骨骼位置演算(1)在结算前处理一下数据:1.缓存骨骼点的位置和角度2.计算骨骼的长度(当前骨骼点到下一个骨骼点的长度)3.计算当前...

2019-05-20 14:55:34

PhotonServer 基础 服务器架设

PhotonServer服务器架设1.下载2.安装3.HelloWorld1.下载1.进入网站https://www.photonengine.com/zh-CN/sdks#realtime2.选中下载标签为Server3.点击Icon上的More,然后点击下载2.安装双击、跟着安装就可以了3.HelloWorld建立一个项目,并添加所需引用...

2019-05-17 11:57:31

FinalIK 中 CCDIK 算法解析

FinalIK 中 CCDIK 算法解析1.算法分析1.1 逻辑流1.2 文字解释2.实现1.算法分析1.1 逻辑流1.2 文字解释2.实现

2019-05-09 11:23:30

3D数学基础 仿射变换 齐次坐标空间

3D数学基础 仿射变换 齐次坐标1.定义1.1 线性变换1.2 仿射变换(平移变换)1.3 齐次坐标空间1.定义1.1 线性变换线性变换指的是可以保留矢量加和标量乘的变换。满足以下两个条件f(x)+f(y)=f(x+y)f(x)+f(y)=f(x+y)f(x)+f(y)=f(x+y)kf(x)=f(kx)kf(x)=f(kx)kf(x)=f(kx)例如缩放,用来表示统一放大k...

2019-05-07 15:36:54

查看更多

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