
COCOS
cocos开放相关问题
wang371372
这个作者很懒,什么都没留下…
展开
-
cocos 3D的的透明问题,模型中存在两个透明物体时透明混乱
公司3D项目反馈cocos3d模型问题,正常情况,我们的模型如下图,模型的毛发使用透明贴图:当整体改变透明度改为为 小于100时出现下面情况: 分析后,感觉应该是两个透明物体绘制顺序出错,并且绘制透明物体时,cocos并没有关闭深度写入功能,更改mesh::draw函数如下: _material->getStat...原创 2019-03-20 10:34:25 · 1942 阅读 · 0 评论 -
无法打开包括文件: “WinSock2.h”: No such file or directory
平台工具集设置为XP,如下:原创 2019-05-13 16:09:49 · 9505 阅读 · 1 评论 -
cocos渲染引擎分析(七)-----shader渲染流程之StateBlock
cocos引擎底层渲染场景时,会根据状态设置(混合函数,深度写入,深度测试,背面裁剪,透明)渲染场景,StateBlock就是控制整个场景状态变换的类。cocos设计的为每个材质保持一个StateBlock,通过_pMaterial->getStateBlock()获取,状态设置包括以下:enum{ RS_BLEND = (1 << 0)...原创 2019-05-16 13:51:01 · 745 阅读 · 0 评论 -
cocos的物理碰撞系统使用方式,适应用2D,3D捕鱼
首先设置整体场景的物体世界 self =display.newScene("MainScene",{physics=true})--创建物体世界 local physicsWord = self:getPhysicsWorld() physicsWord:setGravity(cc.p(0, 0)) physicsWord:setUpdateRate(3);--设置频率 if ...原创 2019-04-23 15:46:13 · 956 阅读 · 0 评论 -
cocos渲染引擎分析(五)-----FBO实现多分辨率渲染
上章讲了RenderTexture的流程,然而有些需求cocos提供的并不能实现。在PC上玩游戏的时候,我们可以在设置选项里设置游戏分辨率,模糊,清晰,高清,然而cocos引擎只支持一种渲染分辨率,手机分辨率多少,就会渲染出同样分辨率的图片,这样对某些消耗大3D游戏,在低端手机就会很卡。因此,本章主要讲怎么实现基于FBO的多分辨率渲染。多分辨率渲染的思路如下:首先创建FBO,然后渲染场景时,设...原创 2019-04-03 17:08:04 · 849 阅读 · 0 评论 -
cocos渲染引擎分析(三)-----渲染命令之MeshCommand
cocos的3D部分是在2D部分的基础上加上去,虽然经历很多版本迭代,然而3D部分,只是一个简单架子搭了起来,如果想要譬如高光,阴影,批次渲染等功能,都是需要自己添加的。这里简单讲下3D渲染命令MeshCommand,MeshCommand主要用于渲染Sprite3D 和3D粒子,这里以Sprite3D 的绘制流程为例,记录MeshCommand的渲染流程。引擎渲染3D场景时,首先遍历场景节点...原创 2019-04-03 16:18:56 · 747 阅读 · 4 评论 -
cocos渲染引擎分析(二)-----渲染命令之TrianglesCommand批次合并渲染
从上一章cocos启动流程中知道,cocos的渲染队列中,总共有TRIANGLES_COMMAND,GROUP _COMMAND等七种,其中GROUP_COMMAND是命令集合,QUAD_COMMAND是TRIANGLES_COMMAND的扩展类,真正的渲染命令只有5种:CUSTOM_COMMAND用于自定义绘制,BATCH_COMMAND批次渲染图集,MESH_COMMAND网格渲染,主要用于...原创 2019-04-03 14:20:29 · 1545 阅读 · 0 评论 -
cocos渲染引擎分析(一)-----渲染启动流程
做了两年的cocos引擎底3D层优化和特效,以及对应的编辑器开发。原本的计划中,参考Unity3D引擎,优化cocos渲染流程,实现批次渲染,BRDF渲染,卡通渲染,多材质渲染,延迟渲染,模型阴影,以及HDR,次表面散射,中国风特效,砖石特效等,并制作对应的编辑器。而今只实现了底层优化,批次渲染,BRDF渲染,卡通渲染,多材质渲以及对应编辑器制作。自感部门危险,这几天整理下做过的工作,记录下来,也...原创 2019-03-26 19:21:12 · 2409 阅读 · 0 评论 -
error LNK2005 _inflateEnd 已经在 libzlib.lib定义
最近给公司的引擎升级,新项目中出现error LNK2005 _inflateEnd 已经在 libzlib.lib定义,错误很明显,重复定义。但是项目中又同时需要这两个LIB库。解决方式如下在命令行中/Force:MulTiple引用于https://msdn.microsoft.com/en-us/library/70abkas3.aspx和https://blog.youkuaiyun.com/...原创 2019-03-12 14:14:02 · 755 阅读 · 0 评论 -
cocos中Vs项目的路径宏和库引入
这几天升级公司项目3.1,0到3.17,新老项目,库路径输出路径,以及公司的库,路径不太一样,记录下VS项目中常用的一些路径宏。$(EngineRoot) cocos项目自定义的路径,可以修改。点击视图-----》属性管理器-------》点击项目下的props文件---》点击用户宏编辑。$(PlatformName)当前项目平台的名称$(OutDir)输出文件目录的路径,...原创 2019-03-12 10:25:13 · 399 阅读 · 0 评论 -
XP支持
公司项目在XP系统提供支持,改动如下:1.平台工具集设置为Visual Studio 2013 - Windows XP (v120_xp)2.配置属性->C/C++->预处理器->预处理器定义添加WIN32_WINNT=0x05013.配置属性->链接器->引用->是 (/OPT:REF)(有时需要,保险起还是设置)4.GetUserPrefe...原创 2019-03-08 14:59:09 · 558 阅读 · 0 评论 -
cocos实现PC端鼠标指针更换功能
预打算使用windows中的鼠标指针功能,发现效果不佳,和COCOS不是很匹配,最终和cocos使用同一个glfw库的,代码如下: std::string strCur = "../../res/bg_d.png"; auto image = new (std::nothrow)Image(); image->initWithImageFile(st...原创 2019-02-26 10:07:27 · 1449 阅读 · 0 评论 -
cocos屏幕自适应的一些概念
屏幕自适应因情况不同,方法不同,这里记录几个概念,懂了这几个概念,cocos屏幕自适应问题应该容易解决。屏幕的的实际尺寸大小使用getFrameSize()获取,代表屏幕大小,游戏开发过程中,坐标与屏幕实际尺寸并不对应,而是对应于设计辨率,这样针对不同的屏幕,程序根据适配模式(固定宽,固定高,无边框)统一自适应到屏幕上。display.width和diplay代表虚拟分辨率(或者设计分辨率...原创 2018-11-14 19:10:22 · 842 阅读 · 1 评论 -
cococs在Windows下全屏实现和窗口最大化
项目需要在windows下实现全屏功能,本人版本3.14,参考https://blog.youkuaiyun.com/wiyun_beijing/article/details/23423785代码发现,发现并不是能满足自己的要求,虽然可以实现全屏,然而上半部分有一条黑色边框,如下图:且多次全屏切换后,屏幕会慢慢变小。分析代码发现,每次屏幕改变代码后,cocos 会调用void onGLFWWindo...原创 2018-11-14 18:35:32 · 1199 阅读 · 0 评论 -
cocos实现WebView缓存策略
cocos打开WEBView时,每次都会重新从网络加载网页数据,有一定的时间延迟,对于没有更新的网页,可以采取缓存策略,在需要更新的时候,才使用从网络加载数据的方式,而cocos底层3.13版本,还不支持缓存策略,如果需要缓存策略需要做如下修改: UIWebView-ini.h添加如下代码 void WebView::setLocalCacheElseNet(...原创 2018-11-12 09:28:43 · 2020 阅读 · 1 评论 -
cocos实现拖动窗口继续渲染
cocos虽然定位于移动端的手机游戏引擎,但也有不少公司用它开发PC游戏,由于cocos自身的原因,许多功能并不尽如人意。开发cocos游戏时,都有这样的经历,拖动cocos窗口时,或者点击窗口边框,cocos就会暂停渲染主线程,这个时候主进程阻塞(如同切入后台不渲染一样,切入后台不渲染问题,可以直接更改invalid属性解决)。然而有些游戏,需要拖动的时候,需要继续渲染,完成此需求的代码如下。...原创 2018-11-06 11:09:16 · 699 阅读 · 0 评论 -
Cocos引擎3D优化和BUG问题总结
对自己这一年多对cocos底层开发做一个总结。系统优化 1.批次渲染,cocos3D不支持批次渲染,对应场景类似物体很多(如麻将)的时候,如果采用每个物体绘制一次drallcall会很大,帧率也很低,因此,可以更改cocos源码,提供批次渲染功能,将相似物体的纹理打包成一张图片,批次渲染多个物体。实验发现,对麻将这种多种相似物体的渲染,可大大降低DrallCall(150降...原创 2018-08-29 16:03:57 · 2111 阅读 · 0 评论