精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

《捕魚達(dá)人3》講解Cocos引擎3D:魚身波光處理

移動開發(fā) Android 游戲開發(fā)
在上一節(jié)的學(xué)習(xí)中,我們已經(jīng)掌握了如何使用Cocos2d-x加載魚的模型和播放魚的動畫,這一節(jié)我們來學(xué)習(xí)一下如何為魚的模型增加波光處理,以使它看起來像在海水中游動。

在上一節(jié)的學(xué)習(xí)中,我們已經(jīng)掌握了如何使用Cocos2d-x加載魚的模型和播放魚的動畫,這一節(jié)我們來學(xué)習(xí)一下如何為魚的模型增加波光處理,以使它看起來像在海水中游動。

在模型的身上加入波光的感覺,是通過紋理動畫來實(shí)現(xiàn)的,其原理是給模型增加一個(gè)紋理,并循環(huán)的移動紋理貼圖尋址的UV坐標(biāo),這樣貼在模型表面的紋理就會按照不斷變化的UV值來產(chǎn)生出貼圖運(yùn)動的效果。下面我們來實(shí)際做一下這個(gè)效果。

我們需要用到Shader文件UVAnimation.vsh和UVAnimation.fsh,它們在Resources\3D目錄中。 UVAnimation.vsh是一個(gè)模型骨骼動畫的計(jì)算Shader,而UV動畫的效果在UVAnimation.fsh中進(jìn)行處理:

  1. uniform sampler2D u_texture1;  
  2. uniform sampler2D u_lightTexture;     
  3. uniform vec4 v_LightColor;     //顏色色彩  
  4. uniform vec2 v_animLight;     //UV動畫紋理偏移  
  5. varying vec2 v_texCoord;      //模型的紋理UV值  
  6.    
  7. void main(void)   
  8. {  
  9.     //通過UV值的移動形成UV動畫  
  10.      vec4 lightcolor = texture2D(u_lightTexture, v_texCoord + v_animLight.xy) * v_LightColor;  
  11.     gl_FragColor = texture2D(u_texture1, v_texCoord) + lightcolor;  
  12. }  

然后我們需要一張波光圖caustics.png,它是黑白圖,用于在模型上增加色值操作,這樣的話,黑色的區(qū)域色值為0,與魚原來的紋理色值相加不變,而白色區(qū)域的值大于0,與魚原來的紋理色值相加后會有增亮效果。這張圖我們放在工程的Resources\3D目錄中。

我們在FishLayer中增加一個(gè)變化的UV值:

  1. Vec2 _lightani;

在FishLayer::init函數(shù)中,我們將上面所寫的vsh,fsh等組合成魚模型可以使用的Shader并使用它:

  1. // 取得文件管理器  
  2. auto fileUtiles = FileUtils::getInstance();  
  3.    
  4. // 加載相應(yīng)的Shader文件  
  5. // 加載UVAnimation.vsh并取得文件內(nèi)容字符串  
  6. auto vertexFilePath = fileUtiles->fullPathForFilename("UVAnimation.vsh");  
  7. auto vertSource = fileUtiles->getStringFromFile(vertexFilePath);  
  8.    
  9. // 加載UVAnimation.fsh并取得文件內(nèi)容字符串  
  10. auto fragmentFilePath = fileUtiles->fullPathForFilename("UVAnimation.fsh");  
  11. auto fragSource = fileUtiles->getStringFromFile(fragmentFilePath);  
  12.    
  13. // 將vsh與fsh裝配成一個(gè)完整的Shader文件。  
  14. auto glprogram = GLProgram::createWithByteArrays(vertSource.c_str(), fragSource.c_str());  
  15. // 由Shader文件創(chuàng)建這個(gè)Shader  
  16. auto glprogramstate = GLProgramState::getOrCreateWithGLProgram(glprogram);  
  17. // 給精靈設(shè)置所用的Shader  
  18. _sprite->setGLProgramState(glprogramstate);  
  19.    
  20. //創(chuàng)建海龜所用的貼圖。  
  21. auto textrue1 = Director::getInstance()->getTextureCache()->addImage("tortoise.png");  
  22. //將貼圖設(shè)置給Shader中的變量值u_texture1  
  23. glprogramstate->setUniformTexture("u_texture1", textrue1);  
  24.    
  25. //創(chuàng)建波光貼圖。  
  26. auto textrue2 = Director::getInstance()->getTextureCache()->addImage("caustics.png");  
  27.    
  28. //將貼圖設(shè)置給Shader中的變量值u_lightTexture  
  29. glprogramstate->setUniformTexture("u_lightTexture", textrue2);  
  30.    
  31. //注意,對于波光貼圖,我們希望它在進(jìn)行UV動畫時(shí)能產(chǎn)生四方連續(xù)效果,必須設(shè)置它的紋理UV尋址方式為GL_REPEAT。  
  32. Texture2D::TexParams tRepeatParams;  
  33. tRepeatParams.magFilter = GL_LINEAR_MIPMAP_LINEAR;  
  34. tRepeatParams.minFilter = GL_LINEAR;  
  35. tRepeatParams.wrapS = GL_REPEAT;  
  36. tRepeatParams.wrapT = GL_REPEAT;  
  37. textrue2->setTexParameters(tRepeatParams);  
  38.    
  39. //在這里,我們設(shè)置一個(gè)波光的顏色,這里設(shè)置為白色。  
  40. Vec4  tLightColor(1.0,1.0,1.0,1.0);  
  41. glprogramstate->setUniformVec4("v_LightColor",tLightColor);  
  42.    
  43. //下面這一段,是為了將我們自定義的Shader與我們的模型頂點(diǎn)組織方式進(jìn)行匹配。模型的頂點(diǎn)數(shù)據(jù)一般包括位置,法線,色彩,紋理,以及骨骼綁定信息。而Shader需要將內(nèi)部相應(yīng)的頂點(diǎn)屬性通道與模型相應(yīng)的頂點(diǎn)屬性數(shù)據(jù)進(jìn)行綁定才能正確顯示出頂點(diǎn)。  
  44. long offset = 0;  
  45. auto attributeCount = _sprite->getMesh()->getMeshVertexAttribCount();  
  46. for (auto k = 0; k < attributeCount; k++) {  
  47.     auto meshattribute = _sprite->getMesh()->getMeshVertexAttribute(k);  
  48.     glprogramstate->setVertexAttribPointer(s_attributeNames[meshattribute.vertexAttrib],  
  49.         meshattribute.size,  
  50.         meshattribute.type,  
  51.         GL_FALSE,  
  52.         _sprite->getMesh()->getVertexSizeInBytes(),  
  53.                                              (GLvoid*)offset);  
  54.         offset += meshattribute.attribSizeBytes;  
  55.     }  
  56.    
  57. //uv滾動初始值設(shè)為0  
  58. _lightani.x = _lightani.y = 0;  

之后我們重載一下FishLayer的draw函數(shù),加入U(xiǎn)V值的變化處理和設(shè)置。

  1. void FishLayer::draw(Renderer* renderer, const Mat4 &transform, uint32_t flags)  
  2. {  
  3.     if(_sprite)  
  4.     {  
  5.            
  6.         auto glprogramstate = _sprite->getGLProgramState();  
  7.         if(glprogramstate)  
  8.         {  
  9.             _lightani.x += 0.01;  
  10.             if(_lightani.x > 1.0)  
  11.             {  
  12.                 _lightani.x-= 1.0;  
  13.             }  
  14.             _lightani.y += 0.01;  
  15.             if(_lightani.y > 1.0)  
  16.             {  
  17.                 _lightani.y-= 1.0;  
  18.             }  
  19.             glprogramstate->setUniformVec2("v_animLight",_lightani);  
  20.         }  
  21.     }  
  22.     Node::draw(renderer,transform,flags);  
  23. }  

這樣,我們就完成了魚身上的波光處理。

責(zé)任編輯:chenqingxiang 來源: cocoachina
相關(guān)推薦

2015-04-20 18:12:49

Cocos實(shí)戰(zhàn)《捕魚達(dá)人3》

2014-08-14 10:06:14

Cocos2d-x

2014-07-28 17:09:54

Cocos

2015-04-27 15:35:42

Cocos3D場景編輯器

2015-01-19 17:44:02

Cocos引擎3D特效

2013-11-21 19:36:56

暢游游戲引擎Genesis-3D

2024-12-10 09:40:00

AI3D模型

2022-10-19 13:43:42

CocosOpenHarmon3D游戲引擎

2017-07-12 23:08:03

白鷺引擎

2014-11-21 12:37:49

暢思廣告《捕魚達(dá)人3》

2011-10-06 13:30:45

宏碁投影儀

2012-11-26 12:51:44

木材3D打

2012-12-24 08:48:25

iOSUnity3D

2022-09-14 09:23:51

Java3D引擎

2011-05-26 10:05:07

優(yōu)派投影機(jī)

2015-04-03 11:40:08

Cocos 2015

2011-04-26 14:21:20

3DJVC投影機(jī)

2011-08-26 14:50:23

2023-03-03 21:42:18

鴻蒙

2012-08-13 17:11:37

Silverlight
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

国产第一精品| 亚洲影院色无极综合| 久久国产精品免费一区| 亚洲欧美va天堂人熟伦 | 国产高潮流白浆喷水视频| 国产 日韩 欧美 综合 一区| 国产精品美女久久福利网站| 欧美一级片在线播放| 日批视频在线看| 超碰在线影院| 亚洲成aⅴ人片久久青草影院| 亚洲人被黑人高潮完整版| 国产精品igao视频| 亚洲AV无码国产精品| 国产一线二线在线观看| 国产乱码精品一区二区三区av| 精品午夜一区二区三区在线观看| 正在播放木下凛凛xv99| 成人在线观看免费播放| 亚洲日本丝袜连裤袜办公室| 国偷自产av一区二区三区小尤奈| www.毛片com| 欧美大片免费高清观看| 不卡av在线网| 欧美大片免费观看| 污视频网址在线观看| 色哟哟免费在线观看| 日韩av中文字幕一区二区三区| 日韩国产欧美区| 国产精品无码av在线播放| 成人午夜免费在线观看| 韩日在线一区| 亚洲成人国产精品| 玩弄中年熟妇正在播放| 偷拍自拍在线视频| 国产精品毛片一区二区三区| 亚洲精品成a人在线观看| 青青草精品视频在线| 天堂在线观看视频| 丝瓜av网站精品一区二区| 在线播放精品一区二区三区| 91人人澡人人爽人人精品| 午夜在线播放| 久久天天做天天爱综合色| 国产精品18久久久久久麻辣| 精品少妇theporn| 久久久久久毛片免费看 | 黄色一级片在线免费观看| 韩国三级成人在线| 亚洲一区影音先锋| 精品卡一卡二| 精品久久久久久久久久久国产字幕 | 97超碰人人爽| 人人精品久久| 一区二区三区不卡在线观看| 国产麻豆一区二区三区在线观看| 久久久久久久久久久久久久av| 神马电影久久| 欧美群妇大交群的观看方式| 日韩亚洲欧美一区二区| 丝袜视频国产在线播放| 国内精品伊人久久久久av影院| 国产精品影片在线观看| 91麻豆免费视频网站| 中文字幕亚洲在线观看 | 亚洲GV成人无码久久精品| 国内精品伊人久久久| 91精品国产入口在线| 国产视频九色蝌蚪| 欧亚av在线| 国产精品短视频| 国产欧美日韩综合精品二区| 精品免费久久久| 美女网站久久| 欧美国产日韩免费| 精品一区二区三区四| 亚洲激情不卡| 久久精品视频亚洲| av在线网站观看| 日韩精品一级| 欧美午夜精品理论片a级按摩| 国产青草视频在线观看| 国产三级电影在线观看| 成人一道本在线| 国产精品三级网站| 超碰中文字幕在线| 欧美日韩国产欧| 色婷婷综合久久久久| 国产精品一区二区入口九绯色| 日韩欧美影院| 精品免费一区二区三区| 欧美午夜aaaaaa免费视频| h片在线观看网站| 国产亚洲成aⅴ人片在线观看| 国产精品亚洲综合| 欧美成熟毛茸茸| 成a人片国产精品| 欧美大陆一区二区| 国产免费一区二区三区免费视频| 丝袜美腿一区二区三区| 国产欧美在线看| 欧美国产一级片| 亚洲永久在线| 81精品国产乱码久久久久久| 国产盗摄x88av| 我不卡伦不卡影院| 中文字幕欧美日韩在线| 公侵犯人妻一区二区三区| 精品欧美午夜寂寞影院| 在线观看精品国产视频| 国产精品成人久久| 韩国一区二区三区在线观看| 国产91在线播放精品91| 九九热在线免费观看| 久久国产精品第一页| 国产日韩欧美日韩大片| 日本人妻丰满熟妇久久久久久| 国产成人免费视频一区| 成人三级在线| 成人免费一级视频| 中文字幕免费一区| 亚洲图片小说在线| 中文日本在线观看| 国产精品二区一区二区aⅴ污介绍| 男人添女荫道口图片| 狠狠久久综合| 91精品国产综合久久久久久| 18禁裸乳无遮挡啪啪无码免费| 亚洲激情中文在线| 久久99热精品| 久久伊人成人网| 久久成人免费网| 日韩免费av一区二区三区| www视频在线观看免费| 亚洲国产精品影院| 一区二区传媒有限公司| 98视频精品全部国产| 亚洲国产精久久久久久久| 中文字幕美女视频| 午夜欧美理论片| 国产欧美日本在线| 日韩精品久久久久久久酒店| 日韩欧美网址| 最近日韩中文字幕中文| 国产特黄大片aaaa毛片| 国产成人精品网址| 艳母动漫在线观看| 搞黄网站在线看| 欧美精品久久99| 一二三区视频在线观看| 群体交乱之放荡娇妻一区二区 | 色欲av伊人久久大香线蕉影院| 亚洲欧美电影一区二区| r级无码视频在线观看| 欧洲精品99毛片免费高清观看| 按摩亚洲人久久| 国产中文字幕免费| 国产成人99久久亚洲综合精品| 国产一区二区三区黄| 黄页网站在线| 亚洲成人网av| 91美女免费看| 国产日产精品1区| 亚洲欧美成人一区| 欧美aaaaaaa| 在线亚洲一区二区| 中文字幕人妻无码系列第三区| 99精品在线观看| 92看片淫黄大片欧美看国产片| 免费在线看黄色| 精品国产31久久久久久| 午夜久久福利视频| 中文在线播放一区二区| 日本精品久久久| 国产视频第一页| 一区二区三区四区不卡在线| 日韩欧美xxxx| 91精品国产乱码久久久竹菊| 久久久亚洲精选| 一级特黄aaa大片| 99精品视频一区| 国产精品88久久久久久妇女| 亚洲精品在线影院| 亚洲国产精品免费| 久久久久久不卡| 中文字幕视频一区二区三区久| 日本a级片免费观看| 日韩三级久久| 97超级碰碰人国产在线观看| 高清美女视频一区| 日韩视频永久免费| 天堂а√在线中文在线鲁大师| 亚洲综合电影一区二区三区| 婷婷精品国产一区二区三区日韩| 美女搞黄视频在线观看| 中文字幕免费国产精品| 精品人妻午夜一区二区三区四区| 欧美日韩视频在线| 中文字幕乱码一区| 欧美另类视频| 欧美性xxxx69| 日本精品在线播放| 日韩免费精品视频| 怡红院在线播放| 欧美二区在线观看| 中文字幕激情小说| 一区二区三区资源| av永久免费观看| 成人免费高清在线观看| gogogo高清免费观看在线视频| 国一区二区在线观看| 天堂精品一区二区三区| 国产女人18毛片水真多18精品| 国产精品久久久久秋霞鲁丝| 91九色porn在线资源| 亚洲精品在线电影| 久久精品视频8| 亚洲欧洲日产国码二区| 91精品人妻一区二区| 国产成人在线网站| jizzzz日本| 午夜在线一区二区| 免费在线看黄色片| 国产精品久久久久9999赢消| 日本高清一区| 成人在线视频免费看| 7m精品福利视频导航| 自由的xxxx在线视频| 少妇高潮久久77777| 国外av在线| 3d动漫精品啪啪| 青娱乐国产在线视频| 亚洲国产高清在线观看视频| 国产高清自拍视频| 成人亚洲一区二区一| 手机在线免费毛片| 亚洲午夜一级| 永久免费网站视频在线观看| 国产精品久久久久久麻豆一区软件| 日本精品一区二区三区视频 | 久久亚洲午夜电影| 国产精品高潮呻吟久久久久| 99热最新在线| 中文字幕在线直播| 自拍偷拍免费精品| 成年网站在线| 中文字幕精品网| 超碰免费在线观看| 色噜噜亚洲精品中文字幕| 北条麻妃在线| 中文字幕亚洲无线码在线一区| 裸体xxxx视频在线| 亚洲欧美在线磁力| 99久久久久久久| 欧美三级日韩在线| 久久精品亚洲无码| 亚洲电影激情视频网站| 日本特黄特色aaa大片免费| 国产亚洲精品免费| 人妻少妇无码精品视频区| 国产一区二区网址| 国产免费毛卡片| 蘑菇福利视频一区播放| 国产v亚洲v天堂无码久久久| 亚洲精品久久久| 福利在线小视频| 亚洲视频一区| 欧美 日韩 国产在线观看| 午夜亚洲精品| 99草草国产熟女视频在线| 视频一区国产视频| 亚欧激情乱码久久久久久久久| 麻豆国产一区二区| 免费毛片小视频| 丝袜美腿高跟呻吟高潮一区| 国产又猛又黄的视频| 亚洲人成免费| 337p粉嫩大胆噜噜噜鲁| 石原莉奈在线亚洲二区| 亚洲欧美日韩三级| 成人一区在线观看| 大又大又粗又硬又爽少妇毛片| 国产拍揄自揄精品视频麻豆| 黄色录像一级片| 亚洲国产日韩a在线播放| www.久久久久久久| 91精选在线观看| 天堂av资源网| 日韩一区二区三区xxxx| a'aaa级片在线观看| 国产91精品在线播放| 电影一区中文字幕| 国产精品自拍网| 1204国产成人精品视频| 欧美精品一区在线发布| 91精品国产乱码久久久久久久| 少妇人妻在线视频| 美日韩一区二区| 色七七在线观看| 国产精品夜夜爽| 91久久免费视频| 亚洲欧美国产77777| 国产主播在线播放| 欧美片网站yy| 青青草在线视频免费观看| 亚洲男人天天操| 日本韩国精品一区二区| 日韩有码在线电影| 色是在线视频| 2014亚洲精品| 精品一区二区三区中文字幕在线| 国产亚洲精品美女久久久m| 91影院成人| 色撸撸在线观看| 亚洲h色精品| 欧在线一二三四区| 成人综合婷婷国产精品久久免费| 欧美日韩中文字幕视频| 国产精品美女一区二区三区| 日产电影一区二区三区| 欧美一级午夜免费电影| 1769在线观看| 热久久视久久精品18亚洲精品| 日韩精品一区二区三区中文字幕 | 天天舔天天干天天操| 久久手机精品视频| 青春草在线免费视频| 国产精品尤物福利片在线观看| 日韩大片在线免费观看| 国产91在线亚洲| 久久99深爱久久99精品| 娇妻被老王脔到高潮失禁视频| 精品日本高清在线播放| 日本高清视频免费看| 久久99国产精品自在自在app| 日本免费成人| 亚洲一区美女| 美女精品自拍一二三四| 中文字幕在线观看免费高清| 欧美性色19p| 亚洲一区二区色| 日韩亚洲欧美综合| 黄视频网站在线| 久久久久国产精品www| 咪咪网在线视频| 国产精品裸体一区二区三区| 欧美国产三区| 日本黄色www| 亚洲精品久久嫩草网站秘色| 国产乱子伦精品无码码专区| 亚洲第一视频在线观看| 日本在线观看高清完整版| 欧美一级大片视频| 国产日韩三级| 男女激情无遮挡| 97精品久久久久中文字幕 | 精品人妻一区二区三区日产| 亚洲一区在线看| 韩国av免费在线| 久久免费视频观看| 色综合久久中文| 久久久久久久久久福利| 国产欧美一区二区三区网站| 在线观看黄色网| 久久久国产成人精品| 日韩一区二区三区精品视频第3页| 日本天堂免费a| 成人黄页在线观看| 国产精品男女视频| 亚洲欧美精品在线| 日韩国产大片| 777久久精品一区二区三区无码 | 亚洲最大福利网站| 一区久久精品| 亚洲精品综合在线观看| 亚洲久本草在线中文字幕| 亚洲乱熟女一区二区| 琪琪第一精品导航| 日本高清免费电影一区| 欧美老熟妇喷水| 国产欧美一区二区精品性色| 国产精品一区二区免费视频| 欧美激情综合亚洲一二区| 羞羞色国产精品网站| 五月激情五月婷婷| 亚洲国产精品久久久久秋霞影院| 三级做a全过程在线观看| 国产精品视频成人| 伊人激情综合| 日韩福利在线视频| 欧美成人性福生活免费看| 桃花岛成人影院| 4444在线观看| 国产亚洲制服色| 午夜精品久久久久久久91蜜桃| 日本高清视频一区| 综合一区二区三区| 制服 丝袜 综合 日韩 欧美| 91精品国产91热久久久做人人 | 一区二区日韩欧美|