I load glb with vertex color if I dont compress it all ok BUT after compress playcanvas dont see vertex color (in babylon sandbox all ok)
what should I do to see my vertexColor
I load glb with vertex color if I dont compress it all ok BUT after compress playcanvas dont see vertex color (in babylon sandbox all ok)
How are you loading the GLB? Are you importing it as an asset in the Editor and adding it to the scene or loading the GLB at runtime?
What do you mean by compress? Are you using Draco?
Can you share the GLB or an example GLB that has the the same issue?
yep of course I load it into playcanvas engine (I dont use editor it cant work with glb and I love work local)
this is my code
public static async testEntityCreator(app:pc.Application, url:string, collision: boolean, name: string, color:boolean) {
const assets = {
asset: new pc.Asset(name, pc.ASSET_CONTAINER, { url: ASSETS_LINK+url })
}
const loadArray = [
assets.asset
]
// Π³ΡΡΠ·ΠΈΠΌ!
await loadAssetUrl(app, loadArray)
const entity = assets.asset.resource.instantiateRenderEntity()
if (color) {
// // entity.render.meshInstances[0].material= new pc.StandardMaterial()
// entity.render.meshInstances[0].material.diffuseVertexColor=true
// entity.render.meshInstances[0].material.diffuseVertexColorChannel='rgba'
// entity.render.meshInstances[0].material.update()
// const buffer = entity.render.meshInstances[0].mesh.vertexBuffer
// const iterator = new pc.VertexIterator(buffer)
// // Iterate though all verticles
// for (let i = 0; i < 100; i++) {
// // Current vertex's position
// const posSem = iterator.element[pc.SEMANTIC_POSITION]
// // Get position
// const posX = posSem.array[posSem.index]
// const posY = posSem.array[posSem.index + 1]
// const posZ = posSem.array[posSem.index + 2]
// log.pc_shooter(iterator.element)
// // Move to the next vertex
// iterator.next()
// }
// iterator.end()
}
if (collision) {
window.entity = entity
entity.render.enabled=false
entity.addComponent('collision', {
type: 'mesh',
renderAsset: assets.asset.resource.renders[0]
})
entity.addComponent('rigidbody', {
type: 'kinematic'
})
}
app.root.addChild(entity)
return entity
}
and link for model factory.glb - Google Drive
side note: the Editor can now work with glb files
ok ) but what about vertex color?) I will stay localy with engine) my project too big for editor and I donβt enjoy how it work)
so what you can say about it?)
Looks like an issue on our side as our model viewer isnβt showing the colours but other viewers are
Created ticket here: Loading GLBs doesn't show vertex colours Β· Issue #5007 Β· playcanvas/engine Β· GitHub
Workaround for now is to use materials unfortunately.
I will wait your update to launch my game))
Hi @pblhelka ,
We have a PR for this Fix for draco vertex colors, which are stored as 16 bit for some reason by slimbuck Β· Pull Request #5008 Β· playcanvas/engine Β· GitHub. Thanks for providing a repo - your model is lovely!! <3<3
Thanks
THANK you ) oh I 'm sorry Iβve got your fix and include it in my repo but it still dont work((