[LayaAir 2.0]关于2D粒子的渲染问题
先说我的问题:
在\laya\src\laya\particle下的ParticleTemplateWebGL.as文件中,可以看到,在下边的方法
public override function addParticleArray(position:Float32Array, velocity:Float32Array):void {
中,把所有的参数放到一个数组中:
var particleData:ParticleData = ParticleData.Create(settings, position, velocity, _currentTime);
var startIndex:int = _firstFreeElement * _floatCountPerVertex * 4;
for (var i:int = 0; i < 4; i++) {
var j:int, offset:int;
for (j = 0, offset = 4; j < 3; j++)
_vertices[startIndex + i * _floatCountPerVertex + offset + j] = particleData.position[j];
.........
我的问题是,_vertices里的数据是在哪里被使用的,搜遍了所有的引用和文件,都没找到。比如说颜色存在了这里,具体到在哪里使用的我找不到。
希望能帮忙解答一下。
现在我们对粒子的需求比较高,需求量也不小。希望官方能够把粒子方面好好做一下。无论是编辑器还是粒子的底层。编辑器有bug,滑动条拖拽后不刷新,拖拽别的滑动条时会弹回到原有位置——这个我们能避开,自己写了编辑器;粒子不能拽到场景中,不然会打不开场景——这个也能忍,我们用网页看效果。。但还有很多问题,比如颜色,用的是0到1的数值,不是标准0到255的颜色,想调整颜色只能靠肉眼。
现在的粒子底层,很多效果无法实现,比如多段运动,比如不规则漂浮,比如拖尾,比如特殊固定轨迹。我们暂时准备自己写插件调整粒子运动效果,发现底层的粒子绘制机制,有点读不懂。
在\laya\src\laya\particle下的ParticleTemplateWebGL.as文件中,可以看到,在下边的方法
public override function addParticleArray(position:Float32Array, velocity:Float32Array):void {
中,把所有的参数放到一个数组中:
var particleData:ParticleData = ParticleData.Create(settings, position, velocity, _currentTime);
var startIndex:int = _firstFreeElement * _floatCountPerVertex * 4;
for (var i:int = 0; i < 4; i++) {
var j:int, offset:int;
for (j = 0, offset = 4; j < 3; j++)
_vertices[startIndex + i * _floatCountPerVertex + offset + j] = particleData.position[j];
.........
我的问题是,_vertices里的数据是在哪里被使用的,搜遍了所有的引用和文件,都没找到。比如说颜色存在了这里,具体到在哪里使用的我找不到。
希望能帮忙解答一下。
现在我们对粒子的需求比较高,需求量也不小。希望官方能够把粒子方面好好做一下。无论是编辑器还是粒子的底层。编辑器有bug,滑动条拖拽后不刷新,拖拽别的滑动条时会弹回到原有位置——这个我们能避开,自己写了编辑器;粒子不能拽到场景中,不然会打不开场景——这个也能忍,我们用网页看效果。。但还有很多问题,比如颜色,用的是0到1的数值,不是标准0到255的颜色,想调整颜色只能靠肉眼。
现在的粒子底层,很多效果无法实现,比如多段运动,比如不规则漂浮,比如拖尾,比如特殊固定轨迹。我们暂时准备自己写插件调整粒子运动效果,发现底层的粒子绘制机制,有点读不懂。
没有找到相关结果
已邀请:
要回复问题请先登录
1 个回复
qzzz
赞同来自: