この記事は「PlayCanvas | GWアドベントカレンダー」8日目の記事です。
PlayCanvas Editor APIが便利です。
ユーザーマニュアル(触りはこちら)
https://developer.playcanvas.com/ja/user-manual/designer/editor-api/
ドキュメント(詳しく調べる場合はこちら)
https://github.com/playcanvas/editor-api/tree/7d2862c3b6a4adb17afe4baf6e1d591bc34e6a44/docs/classes
本記事ではGUIでやると超大変だけどEditor APIでやると楽勝になることを紹介します
const entities = editor.entities.list();
const renders = editor.entities.root.filter(entity => entity.has('components.render'));
for(const render of renders){
if(render.get('components.render.asset')){
render.addComponent('collision');
render.set('components.collision.type','mesh');
render.set('components.collision.renderAsset',render.get('components.render.asset'));
}
}
render.set('components.render.batchGroupId',100000)
batchGroupIDは、entity.render._batchGroupId
より参照できます。noneの場合は-1
でそれ以降作成順に100000,100001,100002...
となります。
const assets = editor.assets.list()
let textures = {}
for(const asset of editor.assets.list()){
if(asset.get('type') == 'texture'){
textures[asset.get('name').replace('.png','')] = asset.get('id');
}
}
for(const asset of editor.assets.list()){
if(asset.get('type') == 'material'){
asset.set('data.diffuseMap',textures[asset.get('name')]);
}
}
随時更新予定
microCMSにプリセットで入っているimgixを利用してお手軽に動的OGPを設定する
2021年9月6日(月) 14時33分9秒 | 148 viewグリグリリック 開発秘話
2020年12月8日(火) 4時30分37秒 | 144 viewPorting hierarchical 3D models from Unity to PlayCanvas as easily as possible.
2022年2月1日(火) 1時39分28秒 | 84 viewimagekit.ioで画像をアップロードしたときにランダム文字列が末尾につかないようにする
2021年1月15日(金) 4時24分0秒 | 26 viewPlayCanvasアドベントカレンダー2020がオープンしました
2020年11月18日(水) 4時35分50秒 | 7 view