본문 바로가기

Graphics/playcanvas

[Playcanvas] 레이어 Layers 레이어 개요 레이어는 여러분의 어플리케이션의 렌더루프를 커스터마이즈할수 있습니다. 예를 들어 렌더될 메쉬들의 순서를 바꾸던가 특정 메쉬들만 카메라가 렌더하던가 특정 메쉬들에만 조명(Light)가 적용이 되게 하던가 플캔 어플리케이션이 생성되면 디폴트로 몇 가지 기본 레이어를 가지고 있습니다. 여러분들은 필요에따라 커스텀 레이어를 만들거나 만들어진 레이어의 순서를 새로 구성할수 있습니다. 기본적으로 레이어란 렌더될 메쉬들의 리스트입니다. 각각의 레이어는 두개의 서브레이어(Opaque[불투명], Transparent[투명])로 나누어집니다. 레이어에 메쉬가 추가 되면, 레이어는 메쉬의 메터리얼의 종류에따라 불투명한 레이어에 저장하거나 투명한 레이어에 저장합니다. 렌더링 순서 메쉬들이 렌더될수 있.. 더보기
[playcanvas] Entity 드래그하기 마우스로 클릭하고 드래그하는 기능을 구현해보겠습니다.드래그를 구현하기 위해서 ray란 걸 이용할겁니다. var Raycast = pc.createScript('raycast'); Raycast.attributes.add('cameraEntity', {type: 'entity', title: 'Camera Entity'}); Raycast.attributes.add('dragEntity', {type: 'entity', title: 'Drag Entity'}); Raycast.prototype.initialize = function() { this.ray = new pc.Ray(); this.app.mouse.on(pc.EVENT_MOUSEDOWN, this.onMouseDown, this); this.a.. 더보기
[playcanvas] Entity up, right, forward 선 2줄요약: 1. Entity에는 up, right, forward 속성이 있습니다. 2. 모델의 중심 0,0,0 에서 각 축 (무한크기의) 벡터를 단위벡터로 리턴합니다.Entity는 pc.GraphNode를 상속받기 때문에 up, right, forward 속성들을 사용할수 있습니다.up: The normalized local space Y-axis vector of the graph node in world space 음 그니깐 (월드좌표에 있는 그래프노드의 )정규화된 로컬 축 벡터임벡터정규화는 (칸아카데미:벡터크기와 정규화)이걸 보면 알수있음 (칸아카데미 설명 너무 잘되어 있어서 놀람)다시 돌아와서 entity.position 찍으면 Vec3 {x: 0, y: 0, z: 0} 이고 localSca.. 더보기
[playcanvas] Entity Picking을 이용해본 Gizmo 형태 https://velbi.io/154 이 글을 번역하면서, 스스로 익히기위해 Entity Picking을 사용해 Gizmo 형태만 한번 만들어 봤습니다. (나중에 Drag도 추가해보겠습니다.) 클릭하면 흰색으로 바뀌게 했습니다. 에디터에서 카메라에 picker 스크립트컴포넌트를 등록하고 거기에 picker.js 를 넣어놨습니다. 그리고 각 엔티티에다가는 changeColor.js 를 넣어놨습니다. picker.js var Picker = pc.createScript('picker'); // initialize code called once per entity Picker.prototype.initialize = function() { this.app.mouse.on(pc.EVENT_MOUSEDOWN, t.. 더보기
[playcanvas] Material with texture in glTF (engine only) playcanvas engine only 1. Make Material with texture in glTF public loadWheel(entityName: string, folderName: any, partName: any, materialAsset: boolean) { const targetEntity = this.app.root.findByName(entityName); const part = new pc.Entity(); part.addComponent('model'); part.name = partName; const wheelUrl = \`${ environment.apiUrl }/assets/products/${ folderName }/${ partName }/${ partName }... 더보기
[playcanvas] ibl to cubemap with trouble https://forum.playcanvas.com/t/solved-hdr-to-cubemap-using-code/10051/2 [SOLVED] HDR to Cubemap using codeThe darkness could be because of the tonemapping mode you have set. Or maybe the skybox intensity setting on the scene.forum.playcanvas.com 이거에 대해 글쓰기 더보기