关于元宇宙链游系统开发游戏技术语言方案(成熟理念)

简介: 关于元宇宙链游系统开发游戏技术语言方案(成熟理念)

  元宇宙主要有以下几项核心技术:一是扩展现实技术,包括VR和AR。扩展现实技术可以提供沉浸式的体验,可以解决手机解决不了的问题;二是数字孪生,能够把现实世界镜像到虚拟世界里面去。这也意味着在元宇宙里面,我们可以看到很多自己的虚拟分身;三是用区块链来搭建经济体系。

  而forward light是以这种方式绘制的:

  对每一个场景中的Mesh,对每一个灯光,将其绘制到屏幕上

  最直接的差别是,对于数量为M的Mesh,数量为L的光源而言,deferred light的draw call次数为O(M+L),而forward light为O(ML)。

  在2d光照中也可以用同样的概念去理解,可以用deferred及forward两种不同的方式去实现。

  我最终选择了deferred的方式去实现,像这样:

  对每一个光源,如果没有被剔除(在摄像机外),则将其光照绘制到一个等同屏幕比例的光照贴图上。

  在绘制场景完中每一个精灵(Sprite)/粒子/骨骼动画以后,将光照贴图以一个quad mesh的方式绘制到屏幕上,使用相乘的blend方式。

  这样可以保证我可以方便地在任意一个已开发到一定复杂度的游戏中加入这个光照系统,而无需改动场景中原来任意Renderer的绘制Shader。

  同时为了光照能够让场景中的物体呈现不同的细节,我们可以很方便地加入法线贴图,具体可以参考这篇文章。

  因为光源的强度会随距离衰减,我们为光照Mesh中不同的顶点赋值不同的颜色值使之中心最亮,边缘最暗(2d中的光源,线性衰减效果已经足够好)。

  其中获取周围遮挡点的实现可以参考:

  public class CircleHitPoint{

  public float radius;

  public LayerMask colliderLayer;

  public float binaryMaxDegree=5;

  public int rayCount;

  public Vector2 center;

  public struct HitInfo{

  public RaycastHit2D hit2D;

  public float angle;

  public HitInfo(RaycastHit2D hit2D,float angle)

  {

  this.hit2D=hit2D;

  this.angle=angle;

  }

  public Vector2 Position(Vector2 center,float radius){

  if(hit2D){

  return hit2D.point;

  }

  else{

  return center+CircleHitPoint.Degree2Dir(angle)*radius;

  }

  }

  }

  private static Vector2 Degree2Dir(float degree){

  float rayRad=Mathf.Deg2Rad*degree;

  Vector2 dir=new Vector2(Mathf.Cos(rayRad),Mathf.Sin(rayRad));

  return dir;

  }

  private RaycastHit2D AngleRayCast(float angle){

  var rayDir=Degree2Dir(angle);

  var hit=Physics2D.Raycast(center,rayDir,radius,colliderLayer);

  return hit;

  }

相关文章
|
9月前
|
数据可视化 前端开发 程序员
探索iVX:颠覆传统低代码平台的新潮流
探索iVX:颠覆传统低代码平台的新潮流
449 0
|
5月前
|
测试技术 Android开发 开发者
探索移动应用开发:从概念到市场的旅程
在数字时代,移动应用已成为我们日常生活的一部分。本文将带您穿越移动应用开发的迷宫,从最初的灵感火花到最终的产品发布,揭示背后的技术挑战与解决方案。我们将探讨如何克服这些障碍,确保应用不仅能够吸引用户,还能在市场上持续存在。通过实例和分析,本文旨在为开发者提供实用的指导和启示,帮助他们在竞争激烈的应用市场中脱颖而出。
45 0
|
6月前
|
Cloud Native 持续交付 开发者
"云原生时代,开发者如何坐拥创新利器,秒变技术大牛?揭秘黄金时代背后的秘密武器与无限可能!"
【8月更文挑战第14天】云原生技术的兴起标志着软件开发进入黄金时代。它不仅是一种技术趋势,更是思维的革新,赋予开发者前所未有的灵活性和效率。通过微服务、容器化等技术,云原生加速了创新迭代,提升了资源利用与成本效益,增强了应用的可靠性和韧性,并促进了团队间的协作与知识共享。这一切都为开发者创造了更多机遇与挑战。
43 1
|
7月前
|
存储 JSON JavaScript
链游模式系统开发搭建功能丨链游系统开发项目方案(技术成熟)
首先,NFT链游系统的开发能够实现真正的去中心化。区块链技术使得NFT链游戏能够实现真正的去中心化,这意味着所有对象都是直接交互的平等个体。这样一来,所有人都能够公平地参与到NFT链游戏中来。
|
6月前
|
前端开发 Android开发 开发者
移动应用开发的未来风云:跨平台框架携手原生系统,演绎震撼协同进化的史诗篇章!
【8月更文挑战第7天】《移动应用开发的未来:跨平台框架与原生系统协同进化》
41 0
|
9月前
|
新零售 供应链
九星创客新零售模式开发|成熟案例|项目需求
未来新零售对消费者最好的服务方式是“你需要,我送到”
|
分布式计算 区块链 vr&ar
元宇宙链游系统开发dapp技术搭建
元宇宙链游是指基于区块链技术的增强现实游戏,在这个游戏中,玩家可以通过虚拟现实技术将自己代入到一个由电子信号构成的虚拟世界中,并与其他玩家进行互动。
|
JavaScript 前端开发 区块链
元宇宙链游系统开发搭建解决方案
元宇宙链游系统的开发需要结合区块链技术和游戏开发技术。以下是一些开发元宇宙链游系统需要考虑的方面:
|
编译器 C++
Iposwap模式系统开发技术方案(成熟理念)
Iposwap模式系统开发技术方案(成熟理念)
|
Kubernetes 前端开发 API
NFT OpenSea平台系统开发技术方案丨技术成熟(源码部署)
NFT OpenSea平台系统开发技术方案丨技术成熟(源码部署)
171 0

热门文章

最新文章