写在前面
接触过web前端的人,应该都知道网页 以Html+Css+Js的形式构成,这种高度灵活的方式一直延续至今。当然后续推出了如Vue、Rective等前端框架和Thymeleaf、Asp等模板引擎。。。扯远了…
总之,我们可以借鉴Web的做法,使用类似的结构去编写Unity Ui,如Unity 的新UI系统 UIElement(UiToolkit)也是这么做的。此文并不想介绍UIElement,因为通过作者实际使用体验来说,UIElement还有很多路要走,可能在制作编辑器领域可以打破原先Gui的桎梏,然而在运行时下的UI,MarkLight 则舒服许多。
关于MarkLight
在Ui框架的领域中一直流行MVVM的设计,M 模型 V 视图 VM 视图模型 通过三者的配合,可以将表现层与逻辑层相分离,有利于解除耦合。MarkLight 同样是使用了这一套设计方案,通过Xml文件编写View,配合ViewModel的C#文件进行控制。同时吸纳了Html的优点,使用类Css的Xml文件可以对控件进行统一的样式配置,这让换肤和界面规范统一变得十分容易。
快速食用
首先我们可以通过包 ...
一个简单树12345class Item{ public string Name { get; set; } public List<Item> Items { get; set; } = new List<Item>();}
基础数据12345678910111213var aa = new List<Item>();var a = new Item() { Name = "A" };var b = new Item() { Name = "B" };var c = new Item() { Name = "C" };var d = new Item() { Name = "D" };var e = new Item() { Name = "E" };a.Items.Add(new ...
坐标转换
已知云端坐标点A(10,10),需要转换到本地坐标轴下的位置 B?
可能的问题
坐标平移
坐标旋转
参考
Unity 不同空间坐标转换中的矩阵应用_心之凌儿的博客-CSDN博客_unity 空间变换
Unity中内置转换
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103using UnityEngine; /// <summary>/// 坐标转换工具类/// </summary>public static class CTUtils{ /// <summary> /// 世界坐标转屏幕坐标 /// </summary> public st ...
一句话即可概括:
我在人间凑数的日子 —— 2023
思考
更多的生活属于平静(摆烂),我只记得公司年会上 老板说着什么经济形式不好,竞争对手死了一半,合作伙伴也死了不少;说罢便提到今年 年终奖缓发的消息。
2023了,又过去了一年,每每这种时候看看自己的qq资料卡看到自己年龄又增长一岁,感觉有些恍惚。仔细琢磨,就会感觉头开始疼了,仿佛这是什么不可思考的禁忌法则,无形之中有什么因果规则之力。
“有一间住所、一台电脑、水电网、有吃的,好像我可以在这种地方住一辈子”,有时我不禁这么想。
见闻
寒假时候,妹妹从哈尔滨会昆明来,住在我这里;有幸她拿到了一个区检察院的实习机会。因为工作地点离家很远,我建议他就近找个住处。每周天去晚上回住处,每周五下午回到我这来,每次回来她总有一些青旅的见闻给我分享。
“北上广的画家,厌倦了大城市的钢铁森林,放弃高薪工作;选择到大理居家做自由画家。” “我看到那些高楼大厦就害怕”青年女画家这样说道。在上海工作10年,来到大理,租下一间小屋,在院子里种满花;好好生活好好画画。
“我也是大学毕业”一个中年妇女说道,“直到现在做保姆”。我忍不住插嘴,大学生也有做保 ...
不知不觉,一年的时间就这么过去了😢.回顾这一年的种种,大致可以将其划分为上半年和下半年两大部分。
上半年
上半年 大概都是找工作的事情
上半年的时候,基本还在考编制。印象最深的莫过于获得了烟草公司的笔试机会,在对计算机专业知识一通复习后,我自我感觉良好,没想到行测考的太差与面试失之交臂。自这一场考试深深的提醒了我对于行测等知识的学习能力很差,要想通过行测申论来考取一个工作机会是困难的。而我能为之依靠的除了自身的专业知识之外也没有什么其他的东西了,看着越来越卷的编制大环境,我放弃了省考的机会开始找工作之旅。
论失业1年如何重获工作
自之前从朋友介绍的工作离职,我已经很久(将近一年)没工作了,对于这次找工作可谓是恐惧与期待并存——害怕开始却也期待新的变革。静下心来,好好整理了一份工作简历,把学生时代的一些荣誉填上去、再加上一些自我认知的东西。我觉得,学生时代打下的基础多少能有一些用。整理好了简历,我开始在网络上投递简历,心想着现在就去做游戏吧。我把城市选在了成都,成都离云南不太远,不知道是不是在云南待的有些久了,竟然有些缺乏了走出去的勇气。在成都投递了几天简历,也主动联系了几家公 ...
UnityShader的内置时间变量
序列帧动画
通过使用Time实现循环的特效播放。
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374Shader "Unlit/Exp2Shader"{ Properties { _Color ("Color Tint",Color)=(1,1,1,1) _MainTex ("Texture", 2D) = "white" {} _HorizontalAmount("Horizontal Amount",Float)=4 _VerticalAmount("Vertical Amount",Fl ...
Unity Shader 第七章 基础纹理
纹理——使用一张图片来控制模型的外观,使用纹理映射技术把一张图黏在模型表面,逐纹素地控制模型的颜色。
通常使用纹理映射坐标对应纹理中的2D坐标,这被称为是UV坐标。
顶点UV坐标的范围通常被归一到[0,1]范围内。
DirectX 中原点位于左上角,OpenGL中原点位于左下角。
$\color{red}{Unity 使用的是OpenGL的坐标,即原点位于左下角}$
纹理采样
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'Unity ...
好物推荐
未读
对于Unity官方的TimeLine相必我们都很熟悉了,使用时间轴我们可以实现许多功能,这里推荐一款同样优秀的第三方TimeLine插件——SLATE。
快速食用
首先,让我们创建一个CuteScene,点击EDIT 打开编辑窗口。
相关链接
SLATE | Realtime Cinematic Sequencer for Unity (paradoxnotion.com)
ParadoxNotion-Slate学习笔记与拓展计划 | 烟雨迷离半世殇的成长之路 (lfzxb.top)
💨 每朵云都下落不明,每盏月亮都不知所踪。
按照传统程序员思维来开发游戏或许并不那么合适。
从大一开始接触程序设计时,老师让我们学习编程思维。
所谓编程思维,也就是将一个复杂问题进行拆解,然后按部就班的去完成的能力。
对于大多数程序开发来说,这种思维确实是至关重要的,可以公式化处理问题,但在需求多变的游戏开发中,很难做到公式化处理。
是否过分重视框架式设计
++过早优化是大忌,对于游戏开发来说这一点尤为明显。++
有一些水平的程序员总是期望自己写出优雅的代码:逻辑清晰、结构稳定、高效复用。
然而在实际开发时,往往我们很难一次性就处理好软件之间的结构和复杂逻辑,我们需要一边实践一边证明自己的想法是否可行,并不断修正直到自己觉得满意。
有时我们为了写出完美的代码而花费许多时间和精力,也许此时看来完美的代码在反而制约了你新功能的实现,在我们没有确定需求时不要过早过度的优化程序。
算法——解决问题的有限步骤,我们习惯按部就班的完成任务,这显得逻辑清晰。
在一开始我们就试图搭建一个完美的框架,考虑性能高效、逻辑严密,作为商业游戏这是没问题的,但作为独立游戏这往往制约了游戏的完成。
...











