mini草

西昌.何雨锋 mini草

mini草

模型:
1、mini草是由mesh进化来的,所以先要做mesh草。
2、mesh草实际上是由一个十字交叉的两个pacth构成的,所以可以在3DMax中画一个正方形的pacth,如果要各面都可见
则可以将这两个patch复制出来旋转180度并与原先的十字叉重合,就可做到所有方向可见。不用赋材质,然后倒出成3Ds格式。

纹理贴图:
要制作完全半透明的贴图,最好使用dds格式的有alpha通道的图。
找一个单独的植物贴图,要保证周围都是一种颜色。
用photoshop9以上版本(能支持dds格式的版本),打开这一普通植物图片。
打开后,将植物周围的统一颜色用魔术棒选起来,然后新建一通道(alpha通道),在此通道中要保证背景区域完全变黑。
同时用这种方法也把RGB通道的背静也变黑。(当然如果已经有了该图的alpha通道贴图那就更好了,直接将起复制进alhpa通道)
使用图象大小变化功能,把图象大小变为256x256象素或其他2的倍数格式,否则无法导出为dxt5的dds文件。
(如果原先的图象本身比例不对,那么要先用画布剪裁将画布变成正方形了再变化图象大小)
选择导出,格式为dds带alpha通道的格式,使用dxt5格式导出。

模型贴图部分:
用tv65自带的modelview工具打开模型,然后在stage0部分使用做好了的dds文件纹理,不用开alpha混合,直接保存即可.

程序部分:
mesh读草
temp_grass=scene1->CreateMeshBuilder("vv");
temp_grass->LoadTVM("map//other//grass.TVM",true,true);    
temp_grass->SetPosition(0,land1->GetHeight(0,0),0);
temp_grass->SetBlendingMode(cTV_BLEND_ALPHA,-1);
temp_grass->SetAlphaTest(true,64,true,-1);

从mesh建立出100个minimesh:
mini_grass1=scene1->CreateMiniMesh(100,"mini_grass1");
mini_grass1->CreateFromMesh(temp_grass,true); 
mini_grass1->SetAlphaSort(true);
mini_grass1->SetAlphaTest(true);
mini_grass1->SetBlendingMode(cTV_BLEND_ALPHA);
for(i=0;i<100;i++)
{
   mini_grass1->EnableMiniMesh(i,true);
   mini_grass1->SetPosition(i*100,land1->GetHeight(i*100,i*100),i*100,i);
}

当然,要建立出不同颜色的草还要用minimesh->setcolor()方法了。
 mini_grass1->SetClamping(true);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值