软件选择
在软件选择上,对于我这种没有绘画基础的程序员来说,果断选择了轻量级的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
...
最常使用到的就是矢量和矩阵(数学的分支之一——线性代数)
笛卡尔坐标系
大部分的计算位置、距离和角度等变量都是在笛卡尔坐标系下进行的。
二维笛卡尔坐标系
一个特殊的位置,原点,它是整个坐标系的中心
两条过原点相互垂直的矢量,x轴和y轴。
不同的渲染方式,坐标系不同
三维笛卡尔坐标系
三个坐标轴相互垂直,长度为1,这样的基矢量被称为标准正交基
这三个坐标轴被称为是基矢量
左手坐标系和右手坐标系
在二维笛卡尔坐标系中,我们可以通过旋转将任何的坐标系重合,也就是说所有的二维笛卡尔坐标系都是等价的。
但对于三维坐标系,有时不能靠这种旋转来使2个不同朝向的坐标系重合。
左手坐标系
右手坐标系
Unity的坐标系
在模型空间和世界空间中,使用左手坐标系
观察空间,使用右手坐标系,z轴坐标的减少意味着场景深度的增加
练习
右手坐标系
点和矢量矩阵矩阵变换坐标空间法线变换
第三章 UnityShader基础
正式进入shader学习了,好耶!
使用UnityShader的流程:
创建一个材质
创建一个UnityShader,为材质添加
把材质赋给对象
调整shader属性
创建ShaderUnity包含了多种shader模板供我们使用。
Standard Surface Shader
标准光照模型
Unlit Shader
不包含光照(但包含雾效)
mage Effect Shader
实现各种屏幕后处理效果
Unity Shader的导入面板还可以方便地查看其使用的渲染队列(Render queue)、是否关闭批处理(Disablebatching)、属性列表(Properties)等信息。
ShaderLabShaderLab是Unity为我们抽象的一种shader语言,可以更方便的通用。
基本结构123456789101112131415Shader "ShaderName"{ Properties{ //属性 Name("dis ...
写在前面单例模式在Unity中是一种非常常用的方式,和传统单例不同,在Unity中针对不同的情况可分为以下几种方式:heart: 。
普通单例
适用于普通的Mono类。
123456789101112131415161718192021222324namespace singleton{ /// <summary> /// 单例 /// </summary> /// <typeparam name="T"></typeparam> public abstract class Singleton<T> where T : new() { private static T _instance; public static T Instance { get { if (_instance!=null) ...









