首页 > 区块链 > 区块链 > NFT元宇宙链游系统开发逻辑分析
区块链构建一个开放的稳定的价值载体,为数字化的价值提供流动协作的条件,构建一个完整的世界观体验还需要一个庞大的基础设施。利用5G 、 VR 设备、 IoT 设施、 AI 技术算法实现一个不可或缺的关键产业支柱。在区块链方向,数字分身系统,去中心化的存储以及云计算仍有可持续化的发展。
根据支持产业的发展水平将元宇宙分为以下几个阶段
第一阶段 —— 社交 + 游戏:浸式的体验形式,在虚拟世界中实现基本的娱乐,社交功能还是可以的,部分的玩家对元宇宙的归属非常的强。
第二阶段 —— 虚拟现实相结合的模糊概念:将消费,金融生活服务等真实的世界融入到其中,用技术,时间进一步的提升元宇宙成为生活中的一部分。
第三阶段 —— 全真互联网的数字元宇宙,世界密不可分,用户技术和使用时间长,在虚拟世界中形成新的文明。
Rebuild
的程序流程
NFT
链游开发源码模式威:
Congge420

Image , Text 都是继承 Graphic , Graphic 有 ICanvasElement 接口,实现 rebuild 函数
public interface ICanvasElement
{
/// <summary>
/// Rebuild the element for the given stage.
/// </summary>
/// <param name="executing">The current CanvasUpdate stage being rebuild.</param>
/// // 根据 CanvasUpdate 的不同阶段重建元素
void Rebuild(CanvasUpdate executing);
CanvasUpdateRegistry 监听 Canvas 的 willRenderCanvases 事件,这个事件会在渲染前进行每帧调用
public class CanvasUpdateRegistry
{
// 布局重建队列,当 UI 元素的布局需要更新时将其加入队列
private readonly IndexedSet<ICanvasElement> m_LayoutRebuildQueue = new IndexedSet<ICanvasElement>();
// 图形重建队列,当 UI 元素的图像需要更新时将其加入队列
private readonly IndexedSet<ICanvasElement> m_GraphicRebuildQueue = new IndexedSet<ICanvasElement>();
protected CanvasUpdateRegistry()
{
// 监听了 Canvas 的 willRenderCanvases 事件,这个事件会在渲染前进行每帧调用
Canvas.willRenderCanvases += PerformUpdate;
}
PerformUpdate 收集布局重建队列,图形重建队列调用 ICanvasElement.Rebuild 完成重建
何时加入重建
通过设置 “脏数据”实现的,包括布局 (Layout) 、材质 (Material) 和顶点 (Vertices) 三部分,设置布局为脏,将进行布局重建,设置顶点或材质为脏,则进行图形重建。布局重建会将自身加入 m_LayoutRebuildQueue 中,图形重建则会将自身加入 m_GraphicRebuildQueue 中,等待被调用。
SetLayoutDirty :加入到布局重建队列
SetVerticesDirty , SetMaterialDirty :材质,顶点变换加入到图形重建队列
布局重建:位置或者大小 ;
图像重建:顶点变化,材质变化 ( 大小,旋转以及文字变化、图片的修改 )
优化
主要目标,把 Profile 里 Canvas.SendWillRenderCanv 参数调小。通过限制顶点数量,顶点变化等。
text 属性改变(“ 123 ”– > “ 1234 ”),触发 SetLayoutDirty: 在做倒计时相关,按照每 1s 改变,不要实时改变
改文字,图片颜色,触发 SetVerticesDirty (顶点改变),所以改图片颜色最好是改材质球颜色
layout 组件引起重建问题
text 描边,阴影性能问题
一个字符产生 4 个顶点,
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70029947/viewspace-2953135/ ,如需转载,请注明出处,否则将追究法律责任。