Hi there,
https://playcanvas.com/editor/scene/963346
in the above project in controller.js script. The following lines get hands models as Model component. Can someone guide me on how to get the render component. Here’s the snippet of code.
It starts from line 76 in controller.js
this.app.assets.loadFromUrlAndFilename(URL.createObjectURL(blob), 'container.glb', "container", function (err, containerAsset) {
if (err) {
console.error(err);
} else {
// update model
self.modelEntity.setLocalScale(1, 1, 1);
self.modelEntity.model.type = 'asset';
self.modelEntity.model.asset = containerAsset.resource.model;
}
});
}, this);
// paint red when tracking lost
inputSource.hand.on('trackinglost', function() {
self.modelEntity.model.meshInstances[0].material.diffuse.set(1, 0, 0);
self.modelEntity.model.meshInstances[0].material.update();
});
// paint white when tracking restored
inputSource.hand.on('tracking', function() {
self.modelEntity.model.meshInstances[0].material.diffuse.set(1, 1, 1);
self.modelEntity.model.meshInstances[0].material.update();
});
@yaustar, can you help me with this?
Hi @yaswanth,
Without testing this, here is the updated version of your code to work with the render component (basically replace model with render at the component level):
this.app.assets.loadFromUrlAndFilename(URL.createObjectURL(blob), 'container.glb', "container", function (err, containerAsset) {
if (err) {
console.error(err);
} else {
// update model
self.modelEntity.setLocalScale(1, 1, 1);
self.modelEntity.render.type = 'asset';
self.modelEntity.render.asset = containerAsset.resource.model;
}
});
}, this);
// paint red when tracking lost
inputSource.hand.on('trackinglost', function() {
self.modelEntity.render.meshInstances[0].material.diffuse.set(1, 0, 0);
self.modelEntity.render.meshInstances[0].material.update();
});
// paint white when tracking restored
inputSource.hand.on('tracking', function() {
self.modelEntity.render.meshInstances[0].material.diffuse.set(1, 1, 1);
self.modelEntity.render.meshInstances[0].material.update();
});
2 Likes
Hi @Leonidas, thanks for you reply. But the get the following error
TypeError: render.off is not a function
_onRenderAssetLoad https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:60409
_onRenderAssetAdded https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:60398
set https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:60843
testHandEntity https://launch.playcanvas.com/api/assets/files/scripts/TestBloom.js?id=60730146&branchId=9ce67acf-950b-4525-9744-f6f431d4b3a7:42
startLoad https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:40061
fire https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:796
_opened https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:39989
_loaded https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:40013
launch.js:15178:21
error https://launch.playcanvas.com/editor/scene/js/launch.js:15178
testHandEntity https://launch.playcanvas.com/api/assets/files/scripts/TestBloom.js?id=60730146&branchId=9ce67acf-950b-4525-9744-f6f431d4b3a7:35
startLoad https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:40069
fire https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:796
_loaded https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:40001
_onFailure https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:36994
handleLoad https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:36935
load https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:34355
createResources https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:32512
parseAsync https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:32985
loadTexturesAsync https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:32647
parseAsync https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:32979
onLoad https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:32926
parseBufferViewsAsync https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:32945
processAsync https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:32901
parseBufferViewsAsync https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:32937
parseAsync https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:32973
onLoad https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:32750
loadBuffersAsync https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:32791
processAsync https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:32736
loadBuffersAsync https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:32761
parseAsync https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:32967
parseGltf https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:32820
parseAsync https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:32961
parseGlb https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:32879
parseChunk https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:32887
parseAsync https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:32955
load https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:34351
_onSuccess https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:2127
_onReadyStateChange https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:2079
onreadystatechange https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:2015
(Async: EventHandlerNonNull)
request https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:2014
get https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:1875
fetchArrayBuffer https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:30750
load https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:34347
handleLoad https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:36921
load https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:36955
load https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:40022
startLoad https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:40072
loadFromUrlAndFilename https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:40080
testHandEntity https://launch.playcanvas.com/api/assets/files/scripts/TestBloom.js?id=60730146&branchId=9ce67acf-950b-4525-9744-f6f431d4b3a7:33
ready https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:30705
fire https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:796
_opened https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:39989
_loaded https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:40013
_onSuccess https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:36983
handleLoad https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:36933
load https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:33523
_onSuccess https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:2127
_onReadyStateChange https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:2079
onreadystatechange https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:2015
(Async: EventHandlerNonNull)
request https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:2014
get https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:1875
load https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:33517
handleLoad https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:36921
load https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:36955
load https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:40022
testHandEntity https://launch.playcanvas.com/api/assets/files/scripts/TestBloom.js?id=60730146&branchId=9ce67acf-950b-4525-9744-f6f431d4b3a7:61
initialize https://launch.playcanvas.com/api/assets/files/scripts/TestBloom.js?id=60730146&branchId=9ce67acf-950b-4525-9744-f6f431d4b3a7:18
_scriptMethod https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:64027
_onInitialize https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:64051
_callComponentMethod https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:64637
_onInitialize https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:64646
fire https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:796
start https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:71140
init https://launch.playcanvas.com/editor/scene/js/launch.js:14548
_preloadScripts https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:70885
init https://launch.playcanvas.com/editor/scene/js/launch.js:14531
done https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:70842
onAssetLoad https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:70854
fire https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:796
_opened https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:39989
_loaded https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:40013
_onSuccess https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:36983
handleLoad https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:36933
handler https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:38766
onload https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:38810
(Async: EventHandlerNonNull)
_loadImage https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:38809
load https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:38780
load https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:39624
handleLoad https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:36921
load https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:36955
load https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:40022
add https://launch.playcanvas.com/editor/scene/js/engine/playcanvas.dbg.js?version=1.49.4:39913
createEngineAsset https://launch.playcanvas.com/editor/scene/js/launch.js:18697
load https://launch.playcanvas.com/editor/scene/js/launch.js:18785
load https://launch.playcanvas.com/editor/scene/js/launch.js:18785
<anonymous> https://launch.playcanvas.com/editor/scene/js/launch.js:18590
emitNone https://launch.playcanvas.com/editor/scene/js/launch.js:5784
emit https://launch.playcanvas.com/editor/scene/js/launch.js:5869
ingestSnapshot https://launch.playcanvas.com/editor/scene/js/launch.js:9040
_handleSubscribe https://launch.playcanvas.com/editor/scene/js/launch.js:9126
_handleBulkMessage https://launch.playcanvas.com/editor/scene/js/launch.js:8299
handleMessage https://launch.playcanvas.com/editor/scene/js/launch.js:8243
onmessage https://launch.playcanvas.com/editor/scene/js/launch.js:8157
onmessage https://launch.playcanvas.com/editor/scene/js/launch.js:19040
(Async: EventHandlerNonNull)
connect https://launch.playcanvas.com/editor/scene/js/launch.js:19029
reconnect https://launch.playcanvas.com/editor/scene/js/launch.js:19089
evt https://launch.playcanvas.com/editor/scene/js/events.js:37
emit https://launch.playcanvas.com/editor/scene/js/events.js:57
<anonymous> https://launch.playcanvas.com/editor/scene/js/launch.js:13619
(Async: EventListener.handleEvent)
<anonymous> https://launch.playcanvas.com/editor/scene/js/launch.js:13613
<anonymous> https://launch.playcanvas.com/editor/scene/js/launch.js:13634
@yaustar, @Leonidas I think
self.modelEntity.render.asset = containerAsset.resource.model;
I think this line of code is wrong. Since model is different from render. Correct me if I’m wrong.
Good point, that’s correct, check the updated example here, it has a different way of loading a GLB container asset, to instantiate a render entity:
https://developer.playcanvas.com/en/tutorials/loading-draco-compressed-glbs/
1 Like
Thanks a lot @Leonidas, it is working now.
1 Like