Unity 3D mesh制作地形工具
如果要把unity3D的工程,转到flash平台,是有一些限制的,其中,unity3d的地形不能使用,这就是一个很大的问题。 所以,使用mesh来替代unity自带的地形,就变成首选的解决方案。 问题接着而来,mesh怎么像unity自带的地形一样刷地表贴图,怎么种树,草。这就需要一套完整的系统与工具来支持。 于是有了这个新的工具。 1 先说刷地表贴图的实现,这个其实就很简单,首先是mesh材质的shader的支持,shader要支持4层纹理混合,外加一个mix texture,也就是5层贴图的shader。这个很简单了,就是4层贴图根据mix texture的R G B A通道来混合最后的颜色。 half4 splat_control = tex2D (_Control,IN.uv_Control); 有了shader之后,刷mesh的贴图,无非就是修改mix texture的各个通道的颜色而已。用从屏幕中心点发出射线做碰撞,碰撞得到的mesh的点的uv坐标,来确定被修改的mix texture的部分。然后根据笔刷的值来修改mix texture相应通道的值。 上图中,scene窗口中,原点就是笔刷,笔刷可以预览选中的贴图,方便美术绘制。 2 种树,这个就更简单了,把树的模型放到mesh表面。 3 种草,草要会动才有真实感,把草的动画都写在顶点shader里面,只要给shader传入一个时间参数就可以。然后场景中可能存在大量的草,最后考虑到效率的优化,在运行场景的时候,脚本会判断是否是同样mesh,同样材质的草,如果是一样的,会把一定范围内所有的相同的草合并成一个大的mesh,这样做,场景中可以存在许多的草,且效率很高。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ruby – 如何将JSON转换为哈希值,搜索并更改值
- sqlite3 svn错误:编译于3.7.11,运行于3.6.20
- ruby-on-rails – 使用Rails应用程序设置ServerSignature和
- 如何使用SAX XML Schema Validator的验证消息进行内部化?
- 有了norflash是不是意味着可以不需要RAM呢?
- ruby – 使用用户密码保持数据库数据加密的最佳方法是什么?
- cocos2d-x的anchorPoint锚点和scale缩放之间的配合方式
- c – boost :: geometry:使用圆圈的最近邻居
- ios – 如何在TestFlight(iTunes Connect)错误中修复此多个
- 从已执行的应用程序获取stdout