unity3d ColorHex转换成color颜色

简介: 例如将 #00FFF4FF 转换成 Color,或者将一个color转换成#00FFF4FF格式 /// /// color 转换hex /// /// /// public static string ColorToHex(Color color) { int r = Mathf.

例如将 #00FFF4FF 转换成 Color,或者将一个color转换成#00FFF4FF格式

  /// <summary>
  /// color 转换hex
  /// </summary>
  /// <param name="color"></param>
  /// <returns></returns>
  public static string ColorToHex(Color color)
  {
      int r = Mathf.RoundToInt(color.r * 255.0f);
      int g = Mathf.RoundToInt(color.g * 255.0f);
      int b = Mathf.RoundToInt(color.b * 255.0f);
      int a = Mathf.RoundToInt(color.a * 255.0f);
      string hex = string.Format("{0:X2}{1:X2}{2:X2}{3:X2}", r, g, b, a);
      return hex;
  }

  /// <summary>
  /// hex转换到color
  /// </summary>
  /// <param name="hex"></param>
  /// <returns></returns>
  public Color HexToColor(string hex)
  {
      byte br = byte.Parse(hex.Substring(0, 2), System.Globalization.NumberStyles.HexNumber);
      byte bg = byte.Parse(hex.Substring(2, 2), System.Globalization.NumberStyles.HexNumber);
      byte bb = byte.Parse(hex.Substring(4, 2), System.Globalization.NumberStyles.HexNumber);
      byte cc = byte.Parse(hex.Substring(6, 2), System.Globalization.NumberStyles.HexNumber);
      float r = br / 255f;
      float g = bg / 255f;
      float b = bb / 255f;
      float a = cc / 255f;
      return new Color(r, g, b, a);
  }

相关文章
|
9天前
|
图形学 开发者
Unity Text字体颜色渐变
此代码实现文本颜色的垂直渐变效果。通过定义起始和结束颜色,获取像素位置信息(UV坐标),根据渐变方向计算颜色插值,并应用到每个像素上。具体步骤包括:1) 定义颜色范围;2) 获取UV坐标;3) 计算线性插值;4) 应用颜色。脚本挂载在Text组件上,可调节顶部和底部颜色实现渐变效果。
|
6月前
|
前端开发 图形学
小功能⭐️3DCanvas交互方法、Unity自动调整文本框大小、改变文字大小和颜色
小功能⭐️3DCanvas交互方法、Unity自动调整文本框大小、改变文字大小和颜色
点击物体就变颜色,我也有了神笔了(Unity3D)
OnMouseOver(),OnMouseDown(),OnMouseUp(),这三个函数只对3D物体触发事件
简简单单修改游戏对象的材质颜色,一起来看看(Unity3D)
前段时间比较忙,好久没更新博客了,感觉技术都下降了,还是要坚持输出呀。 孔子曰:&quot;学而不思则罔,思而不学则殆&quot;,不能光学习,还要学会思考,要能用起来。 将自己学到的东西记录下来,这样会让学习更加有效。
|
vr&ar 图形学
【Unity3D 灵巧小知识点】☀️ | Unity控制台 输出打印不同颜色的字体
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 。 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。 Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。 也可以简单把 Unity 理解为一个游戏引擎,可以用来专业制作游戏!
【Unity3D 灵巧小知识点】☀️ | Unity控制台 输出打印不同颜色的字体
|
图形学
Unity的Shader如何控制投影颜色
细节慢慢补充,有几个需要注意的地方,必须要有接收投影的pass也就是Name是ShadowCollector的,必须添加#pragma multi_compile_fwdbase,物体的着色器必须有Tag 里面的 {"LightMode" = "ForwardBase"}。
Unity3dShader_凹凸纹理显示+边缘颜色与强度
shader知识:http://imgtec.eetrend.com/blogs/%E5%A2%A8%E5%8D%8A%E6%88%90%E9%9C%9C //------------------------------------------...
1027 0
|
6月前
|
图形学 C#
超实用!深度解析Unity引擎,手把手教你从零开始构建精美的2D平面冒险游戏,涵盖资源导入、角色控制与动画、碰撞检测等核心技巧,打造沉浸式游戏体验完全指南
【8月更文挑战第31天】本文是 Unity 2D 游戏开发的全面指南,手把手教你从零开始构建精美的平面冒险游戏。首先,通过 Unity Hub 创建 2D 项目并导入游戏资源。接着,编写 `PlayerController` 脚本来实现角色移动,并添加动画以增强视觉效果。最后,通过 Collider 2D 组件实现碰撞检测等游戏机制。每一步均展示 Unity 在 2D 游戏开发中的强大功能。
328 6
|
6月前
|
图形学 缓存 算法
掌握这五大绝招,让您的Unity游戏瞬间加载完毕,从此告别漫长等待,大幅提升玩家首次体验的满意度与留存率!
【8月更文挑战第31天】游戏的加载时间是影响玩家初次体验的关键因素,特别是在移动设备上。本文介绍了几种常见的Unity游戏加载优化方法,包括资源的预加载与异步加载、使用AssetBundles管理动态资源、纹理和模型优化、合理利用缓存系统以及脚本优化。通过具体示例代码展示了如何实现异步加载场景,并提出了针对不同资源的优化策略。综合运用这些技术可以显著缩短加载时间,提升玩家满意度。
538 5