《排球少年垃圾场对决》观后感
《排球少年垃圾场对决》观后感
其实我并没有看过《排球少年!!》,也不知道任何的关于排球的规则。所以我本来是不想去看的。但是因为朋友再三推荐和其他的原因,我去看了这场电影。
整体而言,我觉得这是一个不错的电影。即使我事先不知道他们之间任何的关系,但是随着电影节奏的进行,我也能好好的理清个个人物之间的关系(这好像是一部电影的基本吧)。我全程看下来毫无尿点,整体就是围绕着乌野和音速两个队伍的比赛和队员间的情谊展开。青春、热血、王道,我认为这些标签都可以放到这部作品中。
我现在回想起来,我突然发现我已经很久没有看过这样王道的剧情了。到不是因为现在没有那么好的番剧,而是我故意不去看这样的剧情。因为当我每次去想到主角努力就有超额的回报或是主角经过几个月的修炼就可以达到Boss差不多的高度,我都会觉得扯。因为我自己步入社会就知道努力都不一定会有等额的回报,而我自己也不算有天赋也不可能几个月修炼就可以达到大佬一样的高度。总而言之就是我已经不觉得自己是主角了。在这样的剧中,我觉得我没办法把自己代入主角,就算我在其中我也只不过是主角一个过客罢了。所以当 ...
Unity在Windows操作系统下使用加载和存储文件的对话框
Unity在Windows操作系统下使用保存和打开文件的对话框
前言
这里我仅说明使用CSharp的情况。其实网上已经有很多类似的文章,你在网上搜便能找到一堆。下面的代码其实也是我从网络上抄过来的。但是大多数的文章就仅仅是给代码然后不说为什么这样。如果只是满足当前的需求,那这样做也没什么问题。只是当这些代码出现了一些问题,或者突然有些需求要进行扩展的时候,这些如同黑盒子一样的代码就显得麻烦了。
因为我很懒,所以我这里的代码说明也只到我现在使用的程度。
环境
Windows10
Unity 2022.3.8f1c1
正文
要想在Windows操作系统下打开其保存和打开文件的对话框,我们必须要使用其Comdlg32.dll。如果你有搜索并看过这些方面的文章。你会发现文章中都会预先让你声明一个结构体:
123456789101112131415161718192021222324252627[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)] ...
TextMeshPro(Unity)实现复合Emoji
TextMeshPro(Unity)实现组合后的Emoji
前言
本文整体思想就是遍历字符串找出组合后的Emoji信息并将其重新赋值于TextMeshPro。这样做固然可以满足复合Emoji显示的需求,但是这样同样会照成额外的开销。如果要更好的性能,那么只能自己写一份图文混排的组件或是以某种方法修改TextMeshPro的文本处理使其可以直接支持。
如果你不知道如何在TextMeshPro中显示Emoji(非组合),你可以去看一下这篇文章:Unity中使用TextMeshPro打出Emoji表情。不过这篇文章中的TextMeshPro是预实验的版本。如果你不行使用预实验的版本,那么你可以看完上面的文章后再看一下这篇文章:Unity使用TextMeshPro加载Emoji。
环境
Windows10
com.unity.textmeshpro 3.0.9
Unity 2022.3.8f1c1
实现代码
123456789101112131415161718192021222324252627282930313233343536373839 ...
关于深度图的那些事
关于深度图的那些事
在图形学中,深度图(Depth
Map)通常存储的是相机坐标系(视图空间)下的深度值(坐标中的z值)。其可以用来表示场景中物体的远近关系。一般而言,在引擎中深度图都需要我们手动开启,毕竟这是一个消耗性能的操作。且半透明物体一般是不做深度写入的。这也就是说深度图中并不存在半透明物体的信息。
深度图的存储格式
使用RGBA8格式的R通道来存储。
兼容性(优):RGBA8格式可以兼容所有设备。
数值精度(差):RGBA8格式中每个通道可以表示的浮点数精度为1/255,约等于
0.0039。在使用深度图进行深度深度判定时可能会因精度不够而导致出现较大误差。
存取效率(优):直接存取,无额外运算。
PS:如果我没有记错的话,Unity通用渲染管线的深度图就是用这个方式存储的。
用RGBA8格式进行编码
虽然这个方案也是使用RGBA8,但是此方案是将深度信息编码到RGBA8的四个通道中,使用时再用与编码对等的解码方式进行解码。
兼容性(优):RGBA8格式可以兼容所有设备。
数值精度(优):其可以 ...
半透明物体与非透明物体接缝柔和处理
半透明物体与非透明物体接缝柔和处理
前言
最近项目中遇到特效和地面的接触的时候,他们的接触面间有着一条很明显的接缝。当镜头拉进的时候这个情况尤为明显。幸好同事找到了一篇文章来解决这个问题。文章中说的是在Cocos
Creator中的实现,这里我就按照文章的思路来做出Unity
Shader的形式。且为了我自己方便查找,我自然是要写一篇文章来记录一下啦。
核心思想
我们先获取到深度图中在视图空间下的深度,和自身在视图空间下的深度。然后我们通过一定的公式来修改其颜色或是其透明通道。
具体实现
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566Shader "Test/DepthTransit"{ Properties { _Color ("Color", Color ...
获取Unity内置图标
获取Unity内置图标
前言
突然发现自己也是闲的无聊,为了做文章的封面。所以我想拿到Unity的自带的一些图标。但是我找不到这些图片的位置。这时候我找到了一篇文章,这里面有方法可以获取到这些内置的图标。但是我们只能得到Texture类型的数据,且其是不可读。幸好我们可以通过一些操作让其可读并转为Texture2D类型的数据,最终得到一个.png的图片。这个操作我也是从网上找到的文章中看到的。以上所有的文章我都会放在下面的参考文章中。
主要代码实现
12345678910111213141516171819202122var source = EditorGUIUtility.IconContent("Shader Icon").image as Texture2D;RenderTexture renderTex = RenderTexture.GetTemporary( source.width, source.height, 0, RenderTextureFormat.Defaul ...
URP常用的方法和结构及其对应的位置
URP常用的方法和结构及其对应的位置
前言
不知道你们是否和我一样有着这样的经历。明明知道某些东西可以实现个人想要的功能,但是就是记不起函数。或是说对函数名字有些模糊。如果我们使用类似Visual
Studio这样的工具,那么它或许会给我们一些提示。但这些大多数是没有做Unity
Shader的适配。即使有也是需要花钱的。虽然我个人是使用VSCode来写Unity
Shader,但是我也没有找到一个好的插件。
我个人其实大多数时候不会去记这些函数,且我自身写Shader不多(主要是项目没需求,闲暇时间我也不知道怎么去学这方面的知识)。所以我只好写一篇文章来记录一下,我常用的信息。这里我只做了Unity
URP管线下的东西,毕竟内置管线还是有着不错的插件和一些文章总结。
URP版本
Universal RP 14.0.8
URP文件位置
我们打开任意一个Unity项目所在的文件位置。我们可以看到其Assets文件。在Assets文件的同目录下,我们可以找到Library\PackageCache\。在P ...
Unity使用TextMeshPro加载Emoji
Unity使用TextMeshPro加载Emoji
前言
我在网上搜索“TextMeshPro如何加载Emoji”,找到这篇文章Unity中使用TextMeshPro打出Emoji表情。文章中说要使用TextMeshPro的Pre版本。但实际上我们可以不升级版本也能够让TextMeshPro加载Emoji。
环境
Unity2022.3.8f1c1
Windows10
TextMeshPro 3.0.9(3.0.6版本也可以)
实现
正如文章下面的评论所说,我们直接修改TextMeshPro的代码就可以实现一样的功能。但是如果你真的按照他说的方法做后,你会得到下面的警告:
12345The package cache was invalidated and rebuilt because the following immutable asset(s) were unexpectedly altered: Packages/com.unity.textmeshpro/Scripts/Editor/TMP_Spr ...
在编辑器下不打包加载AB包资源
在编辑器下不打包加载AB包资源
前言
最近我的项目是在使用AB包来做资源加载。因为某些原因,策划频繁修改AB包的资源。比如某些贴图或是模型进行改动,或是UI位置上的修改。而且修改后,策划就要看效果。我不得不等一段AB包构建的时间(当然可以运行过程中进行更改,但如果有些东西更改太多,我会记不下。毕竟运行中的修改不能作用于我们的资源的)。所以我想能不能不打包也正常加载AB包资源呢?当然这个方法只能在编辑器中使用,毕竟正常情况下AB包本身就是要构建的。
代码展示
这里我只提供了如何不构建AB包进行加载的方法:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104#if UNITY_EDITORusin ...
2024-5最近的总结
2024-5最近的总结
没有4月总结的原因
4月份,我并没有写一份总结。主要的原因是我忘记了这件事情。次要原因当然就是4月比较忙,无论是生活上还是工作上。其实直到五月末,我依然没有轻松起来。工作的需求一个接一个的来,其他项目的同事倒是轻松。他们每天到点就走,而我已经加班好久了。往好处想,这说明我现在这个项目有赚钱的希望,他们的项目已经凉得差不多了。不过我倒是不觉得现在这个项目有什么希望就是了,毕竟看数据这个项目也快要凉了。我倒是希望这个项目结束以后,我有一段时间能轻松一下去钻研我喜欢的东西。
最近如何
我本以为自己对生活的感触一成不变,大体就是对现在生活的不满和未来生活的迷茫。直到昨天我才发现自己还是有些改变了,我变得更加迷茫和不满。我睡得越来越晚,我现在有一种可怕的思想。我总觉得只有在刷手机的时候,我才是为了自己而活。然后做其他任何事情,我都觉得是浪费时间或是痛苦。
特别是昨天半夜,我心脏突然有些不适。我起来喝了杯水,本想回去睡觉。但是我就是觉得现在睡觉不行。然后我就刷手机到了清晨。我似乎有一种强烈的自我毁灭的感觉,明明心脏已 ...