この記事は「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')]);
}
}
随時更新予定
Power Automate Desktopで無理やり時間指定実行を実装したときは気をつけよう
2022年4月25日(月) 2時20分44秒 | 7385 viewmailchimpのフッターから自分の住所を削除する
2021年6月7日(月) 1時11分14秒 | 1315 viewキミを探す、夏 開発秘話
2021年11月5日(金) 22時43分0秒 | 483 viewNuxt3+@nuxt/contentでブログを作ってcontentをgit submoduleで別リポジトリ管理にする
2023年6月14日(水) 12時57分6秒 | 294 viewphpを使ってimagekit.ioにREST API経由でbase64形式の画像をアップロードする
2021年1月15日(金) 7時46分53秒 | 208 view