《Unity开发实战》——3.7节创建颜色选择对话框

简介:

本节书摘来自华章社区《Unity开发实战》一书中的第3章,第3.7节创建颜色选择对话框,作者 (爱尔兰)Matt Smith (巴西)Chico Queiroz,更多章节内容可以访问云栖社区“华章社区”公众号查看

3.7 创建颜色选择对话框
游戏中的用户自定义和玩家制作内容的出现已经有一段时间了。有一个很常见的功能是让用户修改avatar(人物头像)的颜色。本节中将创建一个对话框让玩家通过修改对象的颜色滑动条,控制材质的红色值、绿色值、蓝色值。

3.7.1 准备工作
如果想使用准备好的示例场景,可以在文件夹0423_03_06中找到,然后导入名为colorSelector的包。

3.7.2 操作步骤
请按照下面的步骤创建颜色选择对话框:
1)导入包后,打开 colorSelection 场景。
2)展开Hierarchy 视图中的spaceshipColor 选中ship,我们在脚本中要修改其材质,如下图所示:


62f946a3334b198d6fc4310be004f7aa8bf96075


27dfecc1c1e671537496d792e4357a003a736edd

3.7.3 实现原理
除了把滑动条的值赋给材质的颜色外,我们还把最后使用的颜色保存在3个变量中,以便玩家想恢复到之前的颜色。
另外,我们把文本上的这些值都乘以255,这样玩家就可以像传统方式一样读取RGB的值了。

3.7.4 更多内容
还可以修改对象的材质的其他属性值(比如透明度或发光色)。

相关文章
|
图形学 开发者
Unity Text字体颜色渐变
此代码实现文本颜色的垂直渐变效果。通过定义起始和结束颜色,获取像素位置信息(UV坐标),根据渐变方向计算颜色插值,并应用到每个像素上。具体步骤包括:1) 定义颜色范围;2) 获取UV坐标;3) 计算线性插值;4) 应用颜色。脚本挂载在Text组件上,可调节顶部和底部颜色实现渐变效果。
|
前端开发 图形学
小功能⭐️3DCanvas交互方法、Unity自动调整文本框大小、改变文字大小和颜色
小功能⭐️3DCanvas交互方法、Unity自动调整文本框大小、改变文字大小和颜色
点击物体就变颜色,我也有了神笔了(Unity3D)
OnMouseOver(),OnMouseDown(),OnMouseUp(),这三个函数只对3D物体触发事件
简简单单修改游戏对象的材质颜色,一起来看看(Unity3D)
前段时间比较忙,好久没更新博客了,感觉技术都下降了,还是要坚持输出呀。 孔子曰:"学而不思则罔,思而不学则殆",不能光学习,还要学会思考,要能用起来。 将自己学到的东西记录下来,这样会让学习更加有效。
|
vr&ar 图形学
【Unity3D 灵巧小知识点】☀️ | Unity控制台 输出打印不同颜色的字体
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 。 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。 Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。 也可以简单把 Unity 理解为一个游戏引擎,可以用来专业制作游戏!
【Unity3D 灵巧小知识点】☀️ | Unity控制台 输出打印不同颜色的字体
|
图形学 Windows
Unity调用Windows对话框保存时另存为弹框
Unity开发VR之Vuforia 本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) Chinar ...
1357 0
|
图形学 Windows
unity 实现调用Windows窗口/对话框交互
Unity调用Window窗口 本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) Chinar ——...
2128 0
|
图形学
unity3d ColorHex转换成color颜色
例如将 #00FFF4FF 转换成 Color,或者将一个color转换成#00FFF4FF格式 /// /// color 转换hex /// /// /// public static string ColorToHex(Color color) { int r = Mathf.
2110 0
|
图形学
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 //------------------------------------------...
1134 0

热门文章

最新文章