自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xinjaystudio的博客

大神之路还有多远?

  • 博客(16)
  • 收藏
  • 关注

原创 无GC提取List<T>对应Array方法分析

最近在分析unity Mesh的一个方法public void SetIndices(List<int> indices...)发现一个有趣的地方,其内部使用了一个

2021-06-06 23:46:35 1645 3

原创 关于取模运算的小技巧

取模运算的定义:

2021-05-30 23:47:40 3449

转载 深度解析HDR

随着数字摄影时代的深入发展和计算机软硬件技术的进步以及人们对数字图像品质提高的进一步需求日益强烈,一百七十五年以来传统胶片时代影像动态范围狭窄的瓶颈现在终于被HDRI(High-Dynamic Range image高动态范围图像)技术突破。但是,在我们摄影界包括广大的摄影爱好者,对什么是HDRI还相当陌生。即就是对PHOTOSHOP比较熟悉的摄影师,也依然基本上停留在LDRI(Low-Dynamic Range Image低动态范围图像)层面上工作。什么是HDRI(高动态范围图像),它和我们目前普遍使用的

2020-09-18 20:02:41 2578 1

原创 【unity】便捷开发之宏控制面板

一应用背景在项目开发过程中,常常会使用一些宏命令来开启或关闭某些功能模块,在项目日渐复杂后这种情况越来越普遍。此时我们可以在Project Settings->Player中针对不同平台设定其需要开启的宏,如下图:但这种做法存在一些问题,我们需要不厌其烦的对不同平台进行设置,很容易误删或者拼写错误,因此一个统一管理工程所需宏命令的工具显得尤为必要,本文将针对这种需求设计一款宏命令控制面板。二.设计思想1.获取指定平台当前已设定的宏命令:GetScriptingDefineSymbo

2020-08-19 23:07:05 1184 1

原创 【unity】自动化流程之代码修改导航网格参数

一.应用背景由于公司项目较大,为了妥善管理庞大繁杂的资源,我们采用了工作场景和运行时场景相分离的策略,将美术工作场景独立出来。美术人员只需要在自己的工作场景下操作,待场景搭建完善后,采用一套自动化的Build工作管线将美术工作场景资源导出为运行时所需的场景资源,以此来实现自动化的工作流程。该自动化Build管线也较为复杂,除了具体资源的Build逻辑外,还包括大量资源的依赖关系重建。在Build管线的开发过程中需要在我们的代码中大量调用并设定许多系统参数,而许多参数unity并未直接提供API来设定,因

2020-08-18 23:45:14 1450 1

原创 【unity】Game视图与Scene视图同步

一.应用背景在大中型项目中,经常需要Game视图和Scene视图实时同步,以便观察分析场景的渲染效果,因此我们需要实时将Game视图相机调整到Scene视图中场景观察相机的状态,主要涉及到Game视图相机的位置(position)及旋转角(rotation)的调整。二.设计思想1.通过SceneView.lastActiveSceneView.camera获取当前Scene视图中的观察相机;2.每帧调整Game视图相机的position和rotation;3.为了保证脚本在编辑器模式下也

2020-08-17 22:16:44 9416

原创 【日常刷题】LeetCode——除自身以外数组的乘积

题目:LeetCode高级算法——除自身以外数组的乘积解题思路对于这道题,初一看没什么思路,但仔细一项,除自身以外数组但乘积不就是自身左边的数组乘以自身右边的数组。基于此,我们只需要顺序计算每个数左边数组的乘积,然后逆序计算每个数右边数组的乘积,然后再相乘不就是最后的结果了吗?public class Solution { public int[] ProductExceptSelf(int[] nums) { var result=new int[nums.Leng

2020-08-02 13:59:40 286

原创 【日常刷题】LeetCode——四数相加 II

题目:LeetCode 高级 - 四数相加 II解题思路一(暴力解法)四重循环,时间复杂度,这显然不可接受。public class Solution { public int FourSumCount(int[] A, int[] B, int[] C, int[] D) { var length=A.Length; var count=0; for(var i=0;i<length;i++){ for

2020-08-02 10:55:35 205

原创 【unity】性能优化之——视锥体剔除(Frustum Culling)(一)

一.应用背景在现代游戏中,游戏资源越来越多,游戏场景也越来越大越来越复杂,虽说硬件设备更新迭代很快,性能也日渐强大,但这还远不能缓解复杂繁多的资源带来的性能压力,因而性能优化仍然很有必要。场景资源的剔除是性能优化的一个重要方面,剔除方式也有很多,比如OcclusionCulling、Frustum Culling、layerCullingDistance等。由于项目的需要,这里重点关注Frustum Culling(视锥体剔除)。视锥体剔除的基本思想:判断对象是否在相机视锥体内(相交也算),在则不剔

2020-07-24 00:47:01 14716 6

原创 【unity】Slider联动

一.应用背景最近在公司BigWorld模块开发过程中,需要扩展编辑器,以实现距离相机不同距离显示不同草的功能。这些距离可以通过编辑器面板的EditorGUILayout.Slider来控制,且需要有联动效果,即后一slider的值不小于前一slider的值,拖动slider时会相互影响。二.设计思路问题的关键点在于前一slider的值不小于后一slider的值,也就是各slider的值呈递增趋势。因此可以先用一个列表存储拖动某一slider后,各slider的值,然后对该列表按升序排序后,再按序

2020-07-23 22:32:26 558

原创 【unity】节点Transform属性导出工具——TransformExporter

一.应用背景:在unity开发过程中,有时需要按照某种规则导出指定场景中的所有节点的Transform属性,比如按照节点的Tag或者Layer导出指定Tag或者Layer的节点。为此,笔者设计并制作了一款节点Transform属性导出插件。二.设计要点:1.当前场景的Tag列表获取:InternalEditorUtility.tags;2.当前场景的Layer列表获取:InternalEditorUtility.layers;3.节点的遍历方式:广度优先遍历或深度优先遍历。4.节点路

2020-07-20 23:21:55 770

原创 【unity】unity节点遍历之BFS/DFS

一.应用背景在unity的Hierachy面板上,节点是以树形结构布局的,有些时候我们需要对节点进行遍历,通常有两种比较常用的遍历方式,一种是从指定节点出发(比如根节点),优先遍历直接相邻的子节点,即广度优先遍历(BFS);另一种是从指定节点出发,一路遍历到叶子节点后再遍历下一节点,即深度优先遍历(DFS)。遍历节点只是一种方式,关键是遍历节点期间我们需要做什么,以及当前节点是否需要继续往下遍历?为此,这里针对unity的Transform进行扩展,如下:二.核心源码:BFS核心思想:优先遍历直

2020-07-16 23:56:25 1044

原创 【unity】获取节点路径

一.应用背景:在Unity开发过程中,有些时候我们需要获取从根节点到指定节点的路径,这里针对节点Transform进行扩展,返回由指定分隔符分割的完整路径:二.核心源码:基本思想:循环寻找父节点,并记录当前节点,直到父节点为空时,即到达根节点。using UnityEngine;public static class TransformExtenion{ public static string GetRoute(this Transform transform, string

2020-07-15 20:44:18 3785

原创 【unity】资源导入神器之StartAssetEditing/StopAssetEditing

最近公司在研发一套基于Houdini和Unity的美术工作流程,涉及到大量美术资源的导入与设置,因此怎样快速导入与设置资源成为了影响美术工作效率的一个关键点。调研发现AssetDatabase.StartAsseteEditing和StopAssetEditing这两个API真的是快速资源导入必备神器。现将使用这两个API过程中的一些想法及遇到的坑记录如下:1.使用背景:a.大批量资源导入(比如批量贴图导入);b.大批量资源操作(比如批量图片格式设定);2.技术原理:Unity官方的解释

2020-07-12 23:43:15 2976

原创 UGUI之靠边停靠菜单制作

问题描述:有时我们想要制作靠边停靠的菜单,当点击菜单时按钮时弹出菜单,而又不想使用第三方插件和Mecanim动画系统来制作,那么我们就可以用纯代码来实现这类菜单的动画效果。

2017-07-11 21:38:15 2512 1

原创 UGUI之菜单动画效果制作思路

在日常的项目开发过程中,我们不可避免需要涉及到制作用户界面,尤其是相关菜单的动画效果,比如靠边停靠的菜单弹出动画,主要有以下三种制作思路:思路一:使用第三方插件,比如iTween( 可参考 雨松MOMO的iTween研究院之学习笔记Move移动篇(一))。这无疑是最便捷高效的一种方式,但是如果考虑到跨平台的兼容性时,第三方插件我们往往很难掌控,因此我们又不得不舍弃三方插件;思路二:采用Un

2017-07-10 22:18:35 2336

空空如也

空空如也

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

TA关注的人

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