- 博客(131)
- 收藏
- 关注
原创 Photoshop 抠图方式
选择 “色彩范围” 工具,调整容差与吸管加选选区选择 “焦点区域” 工具“对象选择工具”,“快速选择工具”,“魔术棒” 等配合 “选择并遮住”快捷键Q进入 “快速蒙版”,使用 “画笔” 确定选区钢笔勾边图层样式 “混合选项” 中使用混合颜色带(Alt点击分离手柄)通道抠图,选择并复制合适的通道,使用加色阶、加深、减淡等工具处理通道获得选区最后,多种方法要结合使用不断优化选区蒙版,已建立蒙版可以双击使用 “选择并遮住” 反复调整...
2022-03-01 22:58:47 216
原创 快捷键与偏好设置整理
快捷键与偏好设置整理KeyActionLMB + Drag水平旋转 / 前后移动RMB + Drag旋转LMB + RMB + Drag上下移动Alt + LMB + Drag环绕Alt + RMB + Drag前后移动其他KeyActionCtrl + ALT + LMB + Drag框选Ctrl + LMB + DragX 轴 - 移动 / 旋转 / 缩放Ctrl + RMB + DragY 轴 -..
2022-02-18 17:20:53 498
原创 ScriptableObjects Callbacks
鼠标输入问题不管使用老系统还是 new input system ,只要 mouse delta * Time.deltaTime 就会有卡顿感测试环境一:URP 默认的 template 项目,使用老输入系统,自带的 SampleCameraController.cs 脚本,使用右键控制鼠标时,明显卡顿var mouseMovement = GetInputLookRotation() * TIme.deltaTime * 5// 如果将 TIme.deltaTime 替换为常量则变得丝滑v
2021-06-27 22:12:56 219
原创 Unity VS Code Development
VS Code 官方参考文档Unity Development with VS Code开发环境需求VS Code 开发C#项目需要安装 .NET Core SDK安装 C# extension启动代码完成打开.cs文件没有代码完成功能并有如下提示:提示需要安装 .NET Framework 4.X Targeting Pack目前版本Unity只支持到4.7.1,可以通过报错信息或 Assembly-CSharp.csproj 文件查看...
2021-01-05 00:16:25 166
原创 类或接口使用时机
有时候这样使用接口public interface IAnimal{ void Prey();}public class Bird: IAnimal{ public void Prey() => Debug.Log("prey");}仔细想一想,使用抽象类或基类的方式更合适,还能定义属性和字段public abstract class Animal{ ...
2020-03-27 15:42:09 181
原创 释放非托管资源
使用 using 语法糖清理非托管资源using (var file = File.Open(path, FileMode.Open)){ ...}File 类型属于托管类型,它通过垃圾回收器分配堆内存并自动释放,但它访问的外部文件属于非托管资源,垃圾回收器不能跟踪并释放。上面 using 语句实际上将编译成:{ var file = File.Open(path, FileM...
2020-03-26 19:01:52 353
原创 C# 迭代器
IEnumerator实现 IEnumerator 接口的类才是真正的迭代器,它定义了各项元素被循环访问的逻辑。// 实现 IEnumeratorpublic class WeekEnumerator : IEnumerator{ string[] week = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; int...
2020-03-23 15:23:32 166
原创 画抛物线轨迹
使用 LineRenderer 画出轨迹,核心代码:// 设置 LineRenderer 顶点数量int pointCount = 30;Vector2[] points = new Vector2[pointCount];line.positionCount = pointCount;// 第一个顶点位置points[0] = transform.position;line.Se...
2020-01-05 21:13:22 580
原创 C# LINQ 查询与投影
定义数据源string[] fruits = { "apple", "banana", "mango", "orange", "passionfruit", "grape" };创建查询查询变量本身只存储查询命令。 查询的实际执行将推迟到在 foreach 语句中循环访问查询变量之后进行。// 查询语句语法var q1 = from f in...
2020-01-01 00:00:22 734
原创 导弹跟踪的简单实现逻辑
基本思想是,给导弹一个恒定方向的力,再不断的修改导弹本身的角度,简单的代码片:void FixedUpdate(){ // 给导弹一个始终向上(本地)的力 rbody.velocity = transform.up * speed; // 第一种修改角度的方法: Vector2 dir = (Vector2)target.position - rbody.position; // 叉...
2019-12-16 11:38:23 969
原创 在 Unity 中使用事件
委托 delegate 是一种对方法的引用,类似指针。实例委托时,可以与任何具有相同签名的方法关联。event 用于声明(发布服务器类中的)事件。使用 event 将委托声明为事件后,只能在该类中调用事件,且只能使用 += -= 订阅或取消该事件。using UnityEngine;// 事件发布类public class DelegateScript : MonoBehaviour{...
2019-08-08 17:32:58 2362
原创 Unity Auto Layout
简单的说,Auto Layout 自动布局的核心就是使用 Layout Controllers 控制 Layout ElementsLayout Elements具有 Layout Proerties 的 UI gameobject 都是 Layout Element上图显示当前 Layout Element 的布局属性,添加 Layout Element Component 可以修改这些...
2019-06-27 12:59:23 168
原创 Blender 2.8 with Unity
导出 Fbx 到 Unity,使 Blender 中 1 meters 与 Unity 中 1 Unit 尺寸相同勾选 “Apply Transform”,修改 Scale 为 0.5
2019-06-17 21:59:14 2288
原创 Unity Script 中一些方法和属性
Vector3.LerpUnclampedLerpUnclamped 的值不局限于 a ,b 之间Vector3 lerp = Vector3.Lerp(Vector3.zero, Vector3.one, 1.5f);Vector3 lerpUnclamped = Vector3.LerpUnclamped(Vector3.zero, Vector3.one, 1.5f);// lerp...
2019-05-10 17:26:04 1311
原创 Create Shader
UVsUsing MaskUVs几种常用的 MaskUVsTexture MaskUVsUV MaskUVsOrientation MaskUVsPosition MaskUVsVertex Color MaskUVs需要在 3D 软件中为顶点设置颜色
2018-10-07 16:13:58 472
原创 Lightmap 烘培注意事项
UVs通常烘培 Lightmap 需要用到单独的 UV 2 通道作为 Lightmap 的采样 UV。如果没有 UV 2 则将使用 UV 1。但是直接使用 UV 1 采样将可能得不到正确的光照信息。假设在这样一个场景中,Cube 没有 UV 2 ,它的 UV 1 信息如下图在 Lighting Window 窗口下查看 Cube 的 UV 信息,所有的面是重叠在一起的。让 Lightm...
2018-09-21 14:12:32 8917
原创 获取 RenderTexture 的几种方式
RenderTexture Constructorpublic class ExampleClass : MonoBehaviour { public RenderTexture rt; void Start() { rt = new RenderTexture(256, 256, 16, RenderTextureFormat.ARGB32); }}...
2018-09-18 18:09:32 4573
原创 Unity Culling 相关技术
在 Unity 中使用的 culling 相关技术:Frustum Culling剔除视锥体外的渲染物体,被剔除的物体不会发送给GPU渲染管线(这与 shader 中对顶点透视除法后进行的剔除不是一个东西),Unity 默认启用这项技术。Occlusion Culling剔除被其他物体遮挡的,摄像机不可见(但在视锥体内)的渲染物体。使用 Occlusion Culling 需要手动设置,...
2018-09-18 17:10:33 1648 1
原创 光照使用的简单总结
文档先看一遍官方文档最直接https://docs.unity3d.com/Manual/LightModes.htmlGlobal IlluminationGI 是表现间接光 (indirect light) 的光照技术,不开启 GI 意味着完全不会去处理间接光。GI 是通过 预计算后将间接光照信息 存储在 Lightmap 中,参与 GI 的游戏对象必须被标记为 Static...
2018-09-17 23:16:10 252
原创 简单的折射效果
通过 GrabPass 实现Shader "Unlit/Glass"{ Properties { _BumpAmt ("Distortion", Range (0,100)) = 10 _TintAmt ("Tint Amount", Range(0,1)) = 0.1 _BlurAmt ("Blur Amount", Ra...
2018-08-14 22:57:22 705
原创 Shader 常用函数
将法向量由模型变换到世界空间UnityObjectToWorldNormal(v.normal)// 相当于(使用顶点变换矩阵的逆转置矩阵对法线进行变换)normalize(mul(v.normal, (float3x3)unity_WorldToObject))将方向向量由模型变换到世界空间UnityObjectToWorldDir(float3 dir)// 相当于...
2018-08-07 18:18:09 6265 1
原创 图形技术之坐标转换
转换过程坐标剪裁在透视除法之前执行,剪裁坐标中的 x, y, z 将与 w 进行检测,在 [-w, w] 之外的顶点将被剪裁掉这个 w 来自何方:w 是由 PROJECTION Matrix 变换后添加的齐次坐标,它的值来等于摄像机坐标下的 -z 值 (摄像机坐标使用右手坐标系),且它的范围一定在 [near, far] 之间,否则就被剪裁掉了之后透视除法与视口变换将由 GP...
2018-07-10 12:59:04 656
原创 图形技术之管线概念
Pipeline:每一步骤的输出都将作为下一步骤的输入,渲染过程在 GPU 中是并行运算的,蓝色背景部分可通过 shader 代码控制1. Vertex Shader顶点变换;坐标转换2. Shape Assembly / 图元装配将顶点转换为图元(在这里就是三角形面),并裁剪掉视野外的图元数据3. Geometry Shader通过增减顶点生成其他图元4. Ras...
2018-06-20 14:22:33 913
原创 C# Lambda
定义:Lambda 表达式是一个匿名函数,是简化匿名方法的一种方式基本形式:x => x * x ,=> 是运算符,左边是参数,右边是表达式(或叫方法的实现代码)示例:void Start() { // Func 是预定义 delegate 泛型最后一个参数是返回值 Func<int, int, string> f = (x, y) ...
2018-05-10 23:44:02 799
原创 向量操作与坐标转换相关方法
Transform.InverseTransformPoint获得 position 的本地坐标, position 是一个世界坐标点最后获得 position 在本地坐标中的相对坐标举例:如 transform.positon = (1,0,0) 则下面是获取世界坐标 (2,0,0) 相对于本地位置 (1,0,0) 的坐标即 (1,0,0)Debug.Log(transform.InverseT...
2018-04-12 15:38:52 6892
原创 Unity 的序列化
经过 Serialize (序列化) 的 class 或 attribute 的值会被保存成二进制文件,在 Unity 中可序列化的 attribute 将在 Inspector 显示出来 继承 MonoBehavior 的情况下class 与 public attribute 都是被视为可序列化的private attribute 被视为不可序列化的,可通过 SerializeF...
2018-02-24 23:18:30 549
原创 Phonics
元音元音字母 a e i o u 有发短音与长音两种方式短元音:[æ] [ɛ] [ɪ] [a] [ʌ]长元音:[e] [i] [aɪ] [o] [ju]/[u]元音发音规则 (只记大规律,其他通过 kk 音标确认)注意:元音是元音字母的发音,一个元音可能包含一个或两个以上的元音字母短元音:单音节中只有一个元音字母a [æ]例外:跟 w 一起放字首时常发 [a] , want was waffle ...
2018-01-31 19:53:01 559
原创 Spring boot 使用外部配置文件
使用外部 application.propertiesSpringApplication 默认会从以下位置加载 application.properties 文件1.A /config subdirectory of the current directory : 当前目录的 config 目录下2.The current directory : 当前目录下3.A classpath /confi
2018-01-17 23:06:16 2634
原创 Linux top 命令
top 命令可以实时动态地查看系统的整体运行情况命令选项-b:以批处理模式操作-c:显示完整的治命令-d:屏幕刷新间隔时间-I:忽略失效过程-s:保密模式-S:累积模式-i:设置间隔时间-u:指定用户名-p:指定进程-n:循环显示的次数交互命令进入 top 交互视图后,可以执行以下命令h:显示帮助画面,给出一些简短的命令总
2018-01-17 15:32:04 294
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人