EgisCorp / XDWorld

WebGL 기반 3D GIS 엔진
15 stars 7 forks source link

Threejs 또는 애니메이션 3D 객체 #441

Open shafqatjamil opened 1 week ago

shafqatjamil commented 1 week ago

엔진 버전 xdworld 엔진을 three.js와 통합하는 것이 가능한가요? 아니면 3D 애니메이션 객체를 통합할 수 있나요? 나는 거리에서 걷는 3인칭 컨트롤러를 구축하고 싶습니다.

문의 내용 :

hjaejae commented 1 week ago

three.js와의 통합은 힘들 것 같습니다. 현재 glTF로 3D 애니메이션 기능은 구축이 되어있습니다. 가지고 계신 애니메이션 객체가 glTF라면 빠른 시일 내에 샌드박스에 샘플을 올리도록 하겠습니다.

shafqatjamil commented 1 week ago

[Uploading 33-gltf-wolf.zip…]()

다음은 무료로 제공되는 GLTF 애니메이션 모델인 늑대 모델입니다. 이 모델을 사용해 주세요. 저희는 휴머노이드 모델을 제작할 예정이지만, 시간이 조금 걸릴 것입니다. https://free3d.com/3d-model/wolf-rigged-and-game-ready-42808.html

shafqatjamil commented 1 week ago

hjaejae 님, 이전에 빠른 답변을 주시고 샌드박스에 glTF 샘플을 업로드하는 것을 고려해 주셔서 감사합니다. 말씀하신 3D 애니메이션 기능을 통합하게 되어 매우 기대됩니다. 샘플이 언제쯤 제공될지 예상 일정을 알 수 있을까요? 저희는 3인칭 컨트롤러를 구축하는 것을 진행하고 있으며, 업데이트를 주시면 매우 감사하겠습니다. 저희가 도울 수 있는 부분이 있거나 추가 정보가 필요하시면 알려주세요. 다시 한 번 지원해 주셔서 감사합니다! 감사합니다, Shafqat

hjaejae commented 1 week ago

샘플 사이트는 아래와 같습니다. https://sandbox.egiscloud.com/code/main.do?id=object_gltf_animation

glTF 포맷으로 애니메이션을 구축합니다. 샘플 사이트의 glTF 객체는 애니메이션이 총 8가지가 있습니다. 해당 애니메이션 인덱스를 요청하여 작동합니다.

shafqatjamil commented 1 week ago

정말 감사합니다. 이것을 해보고 추가 도움이 필요하면 알려드리겠습니다.

shafqatjamil commented 1 week ago

안녕하세요, hjaejae님. 현재 glTF가 Polygon으로 생성되고 있는데, 이를 traceTarget으로 바꿀 수 있을까요? 기본적으로 저희는 3인칭 컨트롤러를 만들고 3D 애니메이션이 적용된 휴머노이드 모델을 사용하고자 합니다. 안내해 주실 수 있으신가요?

hjaejae commented 1 week ago

현재는 glTF로 traceTarget을 활용할 수 없습니다. 내부 일정을 확인해 본 후 최대한 빠르게 적용 할 수 있도록 하겠습니다. 개발을 하고자하는 내용을 참조 할 수 있는 스크린샷이나 사이트 등이 있으면 좋을 것 같습니다. 좀 더 상세 내용 부탁드립니다. 업데이트 된 후 알려드리겠습니다.

shafqatjamil commented 1 week ago

우리는 이 비디오처럼 거리에서 건물을 둘러보며 걷고 있는 3D 인간 모델을 원합니다. https://drive.google.com/file/d/1ZfEjykQPO9MH9Ir3v3Ii8AuaD0QCfLwt/view?usp=sharing

hjaejae commented 1 week ago

다음 업데이트에 적용됩니다. 업데이트되면 알려드리겠습니다.

shafqatjamil commented 1 week ago

시간이 얼마나 걸릴지 말씀해 주실 수 있을까요?

hjaejae commented 1 week ago

이번주 금요일에 업데이트 될 예정입니다.

shafqatjamil commented 1 week ago

감사합니다, 기대하고 있겠습니다.

shafqatjamil commented 1 week ago

혹시 최신 업데이트가 있을까요?

egiskorea-ryong commented 1 week ago

안녕하세요.

2.8.1 버전 엔진이 업데이트 되었습니다.

감사합니다.

hjaejae commented 4 days ago

아래는 glTF를 traceTarget으로 등록하는 예시입니다. https://sandbox.egiscloud.com/code/main.do?id=camera_trace 예제와 함께 보시면됩니다.

var gTraceTarget = null;
function TraceTarget()
{
    var camera = Module.getViewCamera();
    camera.setLocation(new Module.JSVector3D(129.1454803323809, 35.15384277119935, 300.0));

    var pos = new Module.JSVector3D(126.977922699,37.5655 , 30.0);
    var polygon = Module.createGLTF("GLTF_Object");
    polygon.loadFile({
        url : './glTF/wolf/Wolf-Blender-2.82a.glb',
        type : "glb",
        position : pos,
        rotate : 180,
        rebuild : true,
        callback :  function(e) {
            polygon.setAnimationByID(0);
            gTraceTarget = Module.createTraceTarget(polygon.getId());
            gTraceTarget.set({
                object : polygon,
                tilt : 45.0,
                direction : 0.0,
                distance : 10.0
            });

            var camera = Module.getViewCamera();
            camera.setTraceTarget(gTraceTarget);
            camera.setTraceActive(true);
        }
    });
}
shafqatjamil commented 1 day ago

hjaejae님, 감사합니다. 덕분에 코드가 잘 작동하고 있습니다. 정말 감사드립니다. 지금 다른 인간 모델을 사용해 보려고 하고 있지만, 렌더링이 되지 않고 코드 상에서는 오류가 나타나지 않습니다. 이 부분에 대해 도움을 주실 수 있으실까요? 제가 현재 시도 중인 모델은 아래 링크에 있습니다.

https://drive.google.com/file/d/1rKuTtgB1BajUBpIu76O82WsDxw_ZvinG/view?usp=sharing

hjaejae commented 9 hours ago

glTF 애니메이션 기능에 오류가 있었습니다.

다음과 같이 수정하여 다음 주 금요일에 배포 됩니다.

https://github.com/user-attachments/assets/c9042953-07e4-4f9f-b8f4-1629db4b31e2

shafqatjamil commented 6 hours ago

정말 감사드립니다. 현재 버전으로 해결할 방법이 있을까요? 저희가 데모가 있어서 월요일까지 꼭 해결해야 합니다. 엔진 코드에 저희가 기여할 수 있을지도 궁금합니다. 도움을 주실 수 있으시다면 정말 감사하겠습니다.

hjaejae commented 6 hours ago

애니메이션 쪽에서 오류가 발생한 이유는 애니메이션을 위한 버퍼의 크기가 너무 많이 잡혀서 발생한 오류였습니다. 이전에는 발생하지 않은 이유는 모델링의 점 숫자가 적어서 버퍼가 오버 플로우가 나지 않아서 입니다. 현재 사용한 모델링의 점 갯수가 10000개가 넘어가 버퍼의 크기 때문에 오류가 난 문제라서 모델링의 점 갯수가 적은 모델링을 사용하시면 될 것 같습니다.

shafqatjamil commented 6 hours ago

감사합니다. 그렇게 진행하겠습니다. 또한 다음 릴리스를 기다리겠습니다.

hjaejae commented 4 hours ago

오늘 긴급으로 업데이트 되었습니다. 확인해보시기 바랍니다.