说明在我们制作如下的提示框时,会使用到IPointerEnterHandler, IPointerExitHandler
但是,会出现提示框闪烁(其实是进入离开疯狂调用)
解决方案
将提示框射线检测去掉(避免新生成的提示框隔断)
控制提示框的锚点远离一些
为提示框添加组件
每年目标
Unread
此文用于计划2022年的目标。
:top: 总体目标
找到一份合适工作
购置一台4K显示器
发布一套课程
Bili Bili 粉丝>3000
:scroll: Unity技术目标
研究新的技术配套游戏框架
UIElement 学习
考虑设计一套资源管理器替换Odin
GraphView 学习 (尝试之后考虑使用原先的xnode方式)
设计一套通用的 graph 框架
移植天赋树系统
Shader
shader入门精要
:heart:美术音乐目标
为了独立游戏梦,程序员也要学美术音乐:smile:。
这个部分的目标较为不明确,会将学习成果记录在下面的各项中。
绘画
考虑学习像素画和板绘,角色原画,特效等
动画
考虑学习Spine骨骼2D动画
建模
考虑学习Blender的角色建模,简单场景的搭建
编曲
学习基础乐理和常用的电子乐器,目标是能编制简单的曲子。
:thought_balloon: 项目目标
完善卡牌游戏
制作一个练手塔防游戏
:books: 读书目标
读一点杂书,开阔自己的视野。
阅读2本以上课外书
...
说明以下是关于一个游戏存档的设计,包括截取游戏画面,记录时间和存储数据等内容,记录一下,以备以后回顾。
大致的效果如下,将所有存档展示出来,有截图对应,点选载入存档。
123var path = Application.persistentDataPath + "/aa111.png";print($"PATH:{path}");ScreenCapture.CaptureScreenshot(path);// 截图并保存截图文件
结合存档系统,就可以设计出如下所示的存档功能
12345678/// <summary> /// 游戏管理器 /// </summary> public class GameManager : SingletonManager<GameManager> { public int startScene = 1; public int startLine = 0; }
软件选择
在软件选择上,对于我这种没有绘画基础的程序员来说,果断选择了轻量级的Aseprite。
工作界面
工作界面
如图可以看到工作界面,在界面上有菜单栏、颜色选择器、工具栏、主工作区和动画帧图层工作区几个部分组成。
快捷键
快捷按键
作用
B
画笔
L
线条工具
U
形状工具
D
轮廓工具,它的功能是在你画出任意形状的轮廓之后将这个轮廓自动填充颜色。这个工具能让你快速绘制任意形状的实色物体。
I
拾色器
G
油漆桶
前言
:small_blue_diamond:ScrollView是我们经常使用的一个UI组件,但时常容易忘记具体的使用细节,故在此文予以记录。++主要用于需要滑动的区域++
ScrollView组件如图所示
组成部分
ScrollView包含Content、Scrollbar、OneValueChange三部分组成。
Content用于显示内容,通过mask遮罩来过滤大于显示区域的内容。
Scrollbar用于滚动条、
OneValueChange 用于滚动监听
使用示例++注意在Content中设定好大小,保证能够包裹所有子物体++
也可以添加
制作完成效果如图所示:
++2021++年不知不觉就过去了,不知道为什么,我感觉时间过得越来越快了:slightly_smiling_face:.
!!回首过去的一年里,我好像也没做什么事情!!
前言
我向来觉得对自己的生活进行阶段性记录是很有必要的,通过这种方式可以记录下很多东西,在迷茫时看看从前的自己说不定能获得什么能量吧~
关于自设框架数值系统引入了数据修改器的概念,所以对于游戏的各种数据都需要分门别类的管理,特别是针对于Character的数据。
任务系统
buff系统关于Buff系统在我的自制框架中,制作了一版实时的,在开发回合制卡牌游戏原型时,发现回合制的Buff和实时的Buff有较大差别,重新设计了一版回合制的,考虑在之后放入到自制框架中。
关于我开始成为Up主
在Bilibili投稿成为偶像?哈
兴趣点大概是想要获得一些成就感来鼓励自己单调的生活吧,我开始发布一些编程相关的教程和知识分享,教别人的学习效率大概是自学的2倍吧:heart:,同时也希望能够记录自己的成长。
视频收益哈哈哈,在制作视频的时候我是没想过能够在经济上有什么获得的,但现在b站的投稿大环境还是挺好的,各种各样的活动和 ...
现在是 2022年12月29日 16:22:06 没想到拖了整整一年才捡起这件事。
回顾整个项目,虽然完成了很多通用的模块,但这些模型也仅仅只是demo级别,尚还缺乏验证,且游戏设计思想仍然不够完整,对于游戏地图的设计也缺乏确定的解决方案。
自定义特性可以用来标记一些类或类成员
123456789101112131415161718192021222324252627282930313233343536373839404142using System;using UnityEngine;namespace Test{ [Author("Fasty")] public class Test: MonoBehaviour { private void Start() { Show(typeof(Test)); } //用反射获取自定义特性 public void Show(Type t) { var attr = Attribute.GetCustomAttributes(t); foreach (var attribute in attr) { ...
本文用于记录一些使用Shader实现的基础性效果
Unity2020.3.8f1
基础设置创建一个空Shader,可以设置Graph以满足需要。
顶点着色器法线外扩
可以改变一个模型的大小
其中获取法线方向也可以使用:
通过将法线位置(物体本地位置)归一化得到法线,然后乘以一个数值来实现。
模型裁切
原理:AlphaClip的值如果比Alpha的值大,则会不显示
简单效果预览:
加强版本
效果预览
Remap 重映射
根据输入In在InMinMax中的插值,计算输出。(按照比例位置输出)
比如输入In为0,InMinMax时(-10,10),那么In在InMinMax的位置就是0.5,如果OutMinMax为(0,10),那么输出Out就是5公式为: Out = OutMinMax.x + (In - InMinMax.x) * (OutMinMax.y - OutMinMax.x) / (InMinMax.y -InMinMax.x)
One Minus 1减去
输出1-in
Step 阶梯
输入in大于等于 Edge取 1,否则取0
...











