之前一直用的2.4,
3.8发现scale 变成v3属性了,
this.node.scale == v3(1,1,1),这样比较获取的值是false,输出this.node.scale是Vec3(1,1,1)
求3.x大佬指点
2 个帖 - 1 位参与者
之前一直用的2.4,
3.8发现scale 变成v3属性了,
this.node.scale == v3(1,1,1),这样比较获取的值是false,输出this.node.scale是Vec3(1,1,1)
求3.x大佬指点
2 个帖 - 1 位参与者
如题,想在项目中做一个颜色选择器,就和引擎中的颜色选择器一样的实现功能,左边的色条和右边的透明度条我的想法就是做两个贴图然后计算位置得出相应的值,但是中间这个取色板会根据左边色条的选择而变化,我没有什么思路,求大神指点,或者官方引擎的大神能指点一下。
2 个帖 - 1 位参与者
Creator 版本: 2.4.12
目标平台: Android
我现在的project.manifest 热更新文件已经达到900k+ 了,看了下md5数量将近8000个。有没有什么好办法减少一些呢?打包压缩方式我已经选择“压缩全部JSON”了。求大佬帮帮忙
3 个帖 - 1 位参与者
编辑器中把一个动画节点调整好了, 然后隐藏了 , 代码中把他显示出来,设置动画, 然后直接报错,
2.x为啥可以, 3.x 为啥就不能了呢。
难道在编辑器中隐藏了动画 都需要在在代码中重新加载一遍 ,用的很痛苦
很痛苦
3 个帖 - 1 位参与者
1、公司名称:新创公司
2、公司地址:广州海珠琶洲
3、招聘岗位:cocoscreator主程序
4、招聘数量:1
5、岗位职责:
计算机相关专业,4年以上游戏开发工作经验;
具备完整的游戏项目开发经验,熟悉游戏开发流程中客户端与美术协调、线上问题处理;
熟悉Cocos Creator引擎,熟练使用TypeScript,良好的编程思想和编程习惯,熟悉游戏开发相关的知
识。
沟通能力强,责任感强,积极主动,有良好的团队协作意识。
加分项:有一套基于cocos creator 的可靠框架:能高效组织和管理游戏资源、利于高质效开发、能扛住大量游戏单位
加分项:具有cocos creator 引擎修改经验
6、任职要求:求职者需满足的岗位任职要求
7、薪资待遇:大致的薪酬范围、福利待遇等
8、联系方式:1786610076@qq.com
项目情况:
开发一款创新玩法的肉鸽割草类游戏
项目有手游月流水过亿且获得CGDA游戏玩法创新大奖的经验
目前项目核心人员已到位
4.为新成立的创业公司,有强劲的投资支持,薪资范围:20-25k*13+项目奖金(主要收入)
1 个帖 - 1 位参与者
L10N遇到两个棘手问题,求助各位大佬:
1.一个预制体A,内部有个子节点X,此节点在预制体A编辑的时候勾选隐藏掉了.
X上有个l10nLabel 配置好了翻译内容.实际进入游戏,此预制体A实例化后,
再动态显示X子节点,发现对应l10nLable的文本没有翻译.尝试如果保存预制体
A的时候,让X保持显示状态就没问题,是何原因?是L10N的加载与场景加载有时序
规则需要考虑么?
2.麻烦能不能介绍下 localization-editor\translate-data 的index.yaml和zh-Hans-CN.yaml
文件格式,这几个文件隔三差五会增加 associations 下的内容,越来越多,看着有点慌.
1 个帖 - 1 位参与者
已知角色,最高为50级。
1级升级需经验100。
19级需 443730
20级需 480000
34级需 1387500
40级需 1920000
50级需 3000000
求渐进公式
4 个帖 - 1 位参与者
使用cocos Creator 3.8做了一个游戏开中常用的2D的波浪水面,把技术点给记录一下,并提供完整的Shader代码。先上效果:
2D 波浪的基本技术原理
2D 水面波纹的主要原理就是给定一个正选波的边界,在范围内的片元uv就显示,在范围外的片元uv就不显示。同时利用正弦波表达式:
y = A * sin(w * t+offset)
将片元的uv坐标uv.x 带入上面的公式offset,算出y0值。Cocos 的uv 左上角为(0, 0),我们要在图片的上方做水波纹,那么片元的uv.y < y0的片元就丢弃, uv.y >= y0的就正常显示。
为了让水波能动起来,我们就要不断的改变同一个位置offset, 对应的y0的值,那么我们加一个w * t, 角速度*时间。这样随着时间的推移同一个uv(x, y),会得到不同的y0的值。有了不同的边界,这样就会决定不同的片元的显示和丢弃。
具体编写Shader
第001步: 新建一个标准2D Shader 模板,能正常显示图片
Cocos Creator的版本不一样,可能导致以前编写的Shader无法正常运行,这种其实很好解决,我们在开发Shader的时候,基于现在Cocos Creator的版本先创建一个现有的模板出来,然后再将关键代码移植过去。我们做一个2D的Shader,所以复制一个buildin-sprite的Shader模板。然后创建一个材质选好我们新创建的Shader文件,将材质设置到Sprite组件上,能正常显示图片。
第002步: 定义好uniform给用户的控制参数:
baseLine: 基准线,该参数用于控制波浪在图片的位置(波形的基准线);
A: 振幅,该参数用于控制波浪线的高度;
wSpeed:角速度,该参数用来控制一个波形的长度;
第003步: 修改Frag片元着色的Shader代码
完成基准线功能,编写代码基准线以上的片元直接丢弃,基准线一下的片元保留,代码如下:
float value = 0;
if(uv0.y < baseLine + value) {
discard;
}
这样基准线baseLine以上的,就不显示,baseLine以下的显示。
第004步:基于A*sin(offset)来将基准线做正弦波处理
基准线确定好后,还需给基准线加上正弦波,offset为uv.x, value = A*sin(offset), baseLine + value, 这样就把baseLine做成了正弦波的分界线。
float value = A * sin(uv0.x * 30.0);
if(uv0.y < baseLine + value) {
discard;
}
第005步:让正弦波动起来
为了让正弦波动起来,我们在sin加上w*t, 在cocos ccreator里面cc_time是一个vec4的向量, cc_time.x是从启动后到现在的时间,随着时间不断地变化,value = A * sin(uv0.x * 30.0 + wSpeed * cc_time.x); value地值也成周期变化,这样波形就动起来了。
float value = A * sin(uv0.x * 30.0 + wSpeed * cc_time.x);
if(uv0.y < baseLine + value) {
discard;
}
完整Shader代码
最后是完整的Shader代码(基于Cocos Creator 3.8.0):
// Copyright (c) 2017-2020 Xiamen Yaji Software Co., Ltd.
CCEffect %{
techniques:
- passes:
- vert: sprite-vs:vert
frag: sprite-fs:frag
depthStencilState:
depthTest: false
depthWrite: false
blendState:
targets:
- blend: true
blendSrc: src_alpha
blendDst: one_minus_src_alpha
blendDstAlpha: one_minus_src_alpha
rasterizerState:
cullMode: none
properties:
alphaThreshold: { value: 0.5 }
baseLine: { value : 0.5 }
A: {value: 0.01}
W: {value: 10.0}
waveLen: { value: 20.0}
}%
CCProgram sprite-vs %{
precision highp float;
#include <builtin/uniforms/cc-global>
#if USE_LOCAL
#include <builtin/uniforms/cc-local>
#endif
#if SAMPLE_FROM_RT
#include <common/common-define>
#endif
in vec3 a_position;
in vec2 a_texCoord;
in vec4 a_color;
out vec4 color;
out vec2 uv0;
vec4 vert () {
vec4 pos = vec4(a_position, 1);
#if USE_LOCAL
pos = cc_matWorld * pos;
#endif
#if USE_PIXEL_ALIGNMENT
pos = cc_matView * pos;
pos.xyz = floor(pos.xyz);
pos = cc_matProj * pos;
#else
pos = cc_matViewProj * pos;
#endif
uv0 = a_texCoord;
#if SAMPLE_FROM_RT
CC_HANDLE_RT_SAMPLE_FLIP(uv0);
#endif
color = a_color;
return pos;
}
}%
CCProgram sprite-fs %{
precision highp float;
#include <builtin/internal/embedded-alpha>
#include <builtin/internal/alpha-test>
#include <builtin/uniforms/cc-global>
in vec4 color;
#if USE_TEXTURE
in vec2 uv0;
#pragma builtin(local)
layout(set = 2, binding = 12) uniform sampler2D cc_spriteTexture;
#endif
uniform MyUniformParams {
float baseLine;
float A;
float W;
float waveLen;
};
vec4 frag () {
vec4 o = vec4(1, 1, 1, 1);
#if USE_TEXTURE
o *= CCSampleWithAlphaSeparated(cc_spriteTexture, uv0);
#if IS_GRAY
float gray = 0.2126 * o.r + 0.7152 * o.g + 0.0722 * o.b;
o.r = o.g = o.b = gray;
#endif
#endif
float value = A * sin(W * cc_time.x + uv0.x * waveLen);
if(uv0.y < baseLine + value) {
discard;
}
o *= color;
ALPHA_TEST(o);
return o;
}
}%
项目工程的源码:
Creator 3.8 Shader 进阶: 2D水面波浪的实现
链接:https://pan.baidu.com/s/1_j6CB5Mq0B-v4TlJEGX-4w?pwd=dpc7
提取码:dpc7
视频课程详解:https://www.bycwedu.com/promotion_channels/1860034525
1 个帖 - 1 位参与者
第一次办公司做游戏。结果出台两个政策。
1:游戏方面 国家新闻署政策
2:公司方面 2024年7月1日,资金实行实缴政策。我上哪弄100万啊,要么注销,要么减资。
9 个帖 - 1 位参与者
这里先放一段来自builtin-standard.effect的代码片段
CCProgram shadow-caster-vs at{
precision highp float;
#include
#include <surfaces/effect-macros/render-to-shadowmap>
#include <surfaces/includes/common-vs>
#include
#include
#include <shading-entries/main-functions/render-to-shadowmap/vs>
}%
我看了文档 Cocos Creator 3.8 手册 - 着色器语法,但是我还是看不懂上面这段,原因是#include后面的比如macro-remapping是什么?另一个.effect的名称吗?我搜索了项目发现并没有macro-remapping这个文件,是在.effect文档中有声明着色器名称什么的吗?但是看了下builtin-standard.effect的CCEffect,里面并没有类似名称声明的东西,那如果我想要引用builtin-standard.effect的pass我应该#include写什么呢?
1 个帖 - 1 位参与者
1、安装NodeJs
https://nodejs.org/en/download/
2、备份引擎代码
点击Creator右上角“编辑器”,打开引擎目录,复制engine文件夹到备份目录。
例如我把engine复制到D盘并改名
Creator文件->设置->取消勾选“使用内置的Javascript引擎”,并设置新的引擎目录。
3、PowerShell里输几个命令
开始菜单,找到Windows PowerShell(x86),以管理员身份运行。
依次输入:
a)set-ExecutionPolicy RemoteSigned 并填A
b)cd D:\CocosEngine
c)npm install -g gulp
d)npm install
4、修改引擎并编译
接下来修改新目录下的引擎代码,就可以编译了。
举例:每次修改节点的skewX或skewY都会提示:cc.Node.skewX/Y
is deprecated since v2.2.1, please use 3D node instead.
如何把这句提示去掉?
打开vscode,把D:\CocosEngine文件夹拖进去。
找到D:\CocosEngine\cocos2d\core\CCNode.js
以上2个地方注释并保存。
PowShell输入gulp build-dev
重启Creator,无论怎么修改skewX或skewY都不会再提示,搞定!
以后重复3个步骤就可以了:修改引擎代码->gulp build-dev重新编译->重启Creator
推荐链接:
3、【包教包会】分享一个CocosCreator组件——动作残影
5、【包教包会】CocosCreator怎么用namespace实现类似于cc的全局变量
2 个帖 - 1 位参与者