浅谈下Unity实现像素画画的功能
2016-12-29 21:07
501 查看
我现在做的一个项目是像素游戏,那么就包含了像素人物角色的换装
不同的部位实现换装的步骤很麻烦
因此相当在Unity中画画这种,查阅了大量的资料,发现这种方法是行不通的
改变单个图片的颜色和透明度是很容易的,那么能否应用在像素人物角色的换装中呢
在我之前的文章【Unity&NGUI&UGUI】2D精灵物体变色彩透明以及图片高亮变色的方法
就有详细的方法
首先通过PS,创建一个1PX宽高的白色.PNG图片。作为基础的画布,作为精灵对象被创建
通过两个for循环嵌套语句来实现 X*Y 画布大小
先声明一个public GameObject prefab;//获得单位精灵
for(int i=0;i < x;i++)
{
for(int m=0;m < y;m++)
{
GameObject player = (GameObject)GameObject.Instantiate(prefab, this.transform.position, Quaternion.identity);
}
}
在每个单位精灵
通过这句话来改变单位精灵的像素
transform.GetComponent<SpriteRenderer>().material.color = new Color((float)Rx / 255, (float)Gx / 255, (float)Bx / 255, (float)1);
建立一个变量来获得RGB值
然后再通过射线检测来检测每个单位像素,改变每个单位像素的RGB值
转换成图片,请参考参考资料
参考资料:Unity3d之截图方法
不同的部位实现换装的步骤很麻烦
因此相当在Unity中画画这种,查阅了大量的资料,发现这种方法是行不通的
改变单个图片的颜色和透明度是很容易的,那么能否应用在像素人物角色的换装中呢
在我之前的文章【Unity&NGUI&UGUI】2D精灵物体变色彩透明以及图片高亮变色的方法
就有详细的方法
首先通过PS,创建一个1PX宽高的白色.PNG图片。作为基础的画布,作为精灵对象被创建
通过两个for循环嵌套语句来实现 X*Y 画布大小
先声明一个public GameObject prefab;//获得单位精灵
for(int i=0;i < x;i++)
{
for(int m=0;m < y;m++)
{
GameObject player = (GameObject)GameObject.Instantiate(prefab, this.transform.position, Quaternion.identity);
}
}
在每个单位精灵
通过这句话来改变单位精灵的像素
transform.GetComponent<SpriteRenderer>().material.color = new Color((float)Rx / 255, (float)Gx / 255, (float)Bx / 255, (float)1);
建立一个变量来获得RGB值
然后再通过射线检测来检测每个单位像素,改变每个单位像素的RGB值
转换成图片,请参考参考资料
参考资料:Unity3d之截图方法
相关文章推荐
- 浅谈角色换装功能--Unity简单例子实现
- Unity3.5 自带的寻路功能简单实现
- unity实现鼠标拖拽缩放功能代码
- 【Unity快速实现小功能】动画系统学习小技巧篇(二)——摄像机跟随角色移动
- 【Unity快速实现小功能】实现一个类似跑马灯的效果
- unity技术之NGUI的功能实现(2)
- 浅谈VCL中DragDrop功能的底层实现
- Unity增强现实功能的实现
- 【Unity快速实现小功能】NGUI篇——快速使用UIEventListener组件实现,按钮点击功能并添加相应的处理函数
- 【Unity快速实现小功能】NGUI篇——快速实现一个可滑动列表
- 【Unity】代码实现NGUI按钮监听功能
- unity实现折线图功能
- Unity中使用协程实现倒计时功能
- unity-使用NGUI 两个Button实现左右切换功能
- [Unity3d]unity+asp.net实现动态搜索加载模型并且能够实现模型拖动缩放的功能
- 【Unity快速实现小功能】动画系统学习小技巧篇(一)——设置动画循环播放
- [Unity3d]unity+asp.net实现动态搜索加载模型并且能够实现模型拖动缩放的功能
- unity 实现简单的触屏功能
- 用iTween在Unity实现自动寻路的功能
- unity调用Android Api实现短信发送和震动功能