묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨웹 애니메이션을 위한 GSAP 가이드 Part.02
강의 보던중 사용중인 툴이 궁금해서 여쭤봅니다.
강의를 보던중 강사님께서 callback 이라는 뜻을 찾기위해 특정 위젯 같은 것을 실행 후 검색어 입력 후 파파고로 실행 하시던데.혹시 이 툴이 뭔지 알수 있을까요?윈도우 사용자 입니다.
-
해결됨Three.js로 시작하는 3D 인터랙티브 웹
reorder('YXZ') 동작
강의 너무 재밌게 잘 듣고 있습니다!roatation에서 reorder를 했을때 어떻게 동작하는 것인지 정확히 이해가 가지 않아서 질문 남겨봅니다~reorder('YXZ') 는 어떤 것을 위해 설정한 것인지, YXZ 순서가 무엇을 의미하는지 궁금합니다~ (rotation.x, rotation.y 로 값을 설정하는데, YXZ 순서는 어떤 것을 설정해주는 것인지요?)아래 코드처럼 테스트했을때, 1,2번 위치에 설정했을때는 잘 동작하고, 마지막에 설정했을때는 기존처럼 동작하는데, reorder() 해주는 위치도 궁금합니다. (한번 설정하면 계속 동작하는 것인지?)// 1. 회전 전에 설정 mesh.rotation.reorder('YXZ'); mesh.rotation.y = THREE.MathUtils.degToRad(45); // 2. 중간에 설정 mesh.rotation.reorder('YXZ'); mesh.rotation.x = THREE.MathUtils.degToRad(20); // 3. 마지막에 설정 mesh.rotation.reorder('YXZ');
-
미해결몇 줄로 끝내는 인터랙티브 웹 개발 노하우 [초급편]
블로그 상단 페럴렉스 효과 구현 질문 있습니다!
여기서 coverWrap.style.backgroundPosition을 변경해주는데 기존 설정이 center center로 되어있다가 스크롤이 내려갈 때 0부터 시작하기 때문에 가장 상단의 페이지에서 시작하면 그림이 위로 뚝 떨어지는데 어떻게 해결해야 할까요ㅠㅠ
-
미해결Three.js로 시작하는 3D 인터랙티브 웹
카메라 컨트롤을 어떤 걸 사용해야 할지 모르겠습니다...!
안녕하세요. 1분코딩 선생님 강의를 수강 중인 수강생입니다. 현재 아래 사이트의 화면과 비슷한 기능을 구현해야 하는 상황인데 어떤 카메라 컨트롤을 써야 할지 감이 잡히지 않아 질문 드립니다...https://www.lamborghini.com/en-en/3dFlyControls와 PointerLockControls로 테스트를 해보았는데 FlyControls의 경우는 비슷하게 구현은 되었지만 화면을 계속 움직이다보면 화면이 기울어버리는 경우가 생기고,PointerLockControls의 경우는 움직이려면 lock(); 함수를 실행시키면 마우스가 사라져서 문제가 되었습니다.카메라 컨트롤 셋팅은 glb파일의 카메라 객체를 넣어 생성하였습니다.위의 사이트와 비슷한 기능을 만들려면 어떤 카메라 컨트롤러가 적합할까요...?카메라 객체로 컨트롤 셋팅을 하고 따로 셋팅을 해줘야하는 값들이 있을까요...?답변 및 조언 주시면 정말 감사하겠습니다!
-
해결됨JavaScript로 배우는 fullPage + anime + SVG Animation 포트폴리오
질문드립니다.
#sec3에서 물결 움직이는거에서요,브라우저 화면을 키우면 꽉차지 않고 잘리는 부분 수정에서left:o 을 빼 한다고 하셨잖아요...근데, 좀더 큰 모니터에서 확인을 해보니 여전히 꽉차지 않고 잘려나오는데 어떻게 해야 할까요?이것저것 해봤는데, 잘 안되어서 피그마에서 좀더 크게 그려야 하는걸까요^^.sec3_svg{ fill: #667eea; stroke: none; position: absolute; /* left: 0; ->큰화면에서 꽉차게 안나옴 */ bottom: 0; width: 100%; }
-
해결됨웹 애니메이션을 위한 GSAP 가이드 Part.01
gsap 상업적 사용여부
Club GreenSock을 제외하면 상업적으로 무료로 사용가능한건가요?
-
미해결Three.js로 시작하는 3D 인터랙티브 웹
강의에서 나온 이미지 색상보다 더 밝게 나와요
위의 사진처럼 강의보다 훨씬 밝게 나오는데 문제가 무엇일까요..? import * as THREE from "three"; import { OrbitControls } from "three/examples/jsm/controls/OrbitControls.js"; // ----- 주제: 여러 이미지 텍스쳐가 적용된 큐브 export default function example() { // 로딩 매니저 const loadingManager = new THREE.LoadingManager(); loadingManager.onStart = () => { console.log("시작"); }; loadingManager.onLoad = () => { console.log("로드 완료"); }; loadingManager.onProgress = (img) => { console.log(img + "로드 중"); }; loadingManager.onError = () => { console.log("로드 에러"); }; // 텍스쳐 이미지 로드 const textureLoader = new THREE.TextureLoader(loadingManager); const rightTex = textureLoader.load("/textures/mcstyle/right.png"); const leftTex = textureLoader.load("/textures/mcstyle/left.png"); const topTex = textureLoader.load("/textures/mcstyle/top.png"); const bottomTex = textureLoader.load("/textures/mcstyle/bottom.png"); const frontTex = textureLoader.load("/textures/mcstyle/front.png"); const backTex = textureLoader.load("/textures/mcstyle/back.png"); const materials = [ new THREE.MeshBasicMaterial({ map: rightTex }), new THREE.MeshBasicMaterial({ map: leftTex }), new THREE.MeshBasicMaterial({ map: topTex }), new THREE.MeshBasicMaterial({ map: bottomTex }), new THREE.MeshBasicMaterial({ map: frontTex }), new THREE.MeshBasicMaterial({ map: backTex }), ]; // 픽셀화 rightTex.magFilter = THREE.NearestFilter; leftTex.magFilter = THREE.NearestFilter; topTex.magFilter = THREE.NearestFilter; bottomTex.magFilter = THREE.NearestFilter; frontTex.magFilter = THREE.NearestFilter; backTex.magFilter = THREE.NearestFilter; // Renderer const canvas = document.querySelector("#three-canvas"); const renderer = new THREE.WebGLRenderer({ canvas, antialias: true, }); renderer.setSize(window.innerWidth, window.innerHeight); renderer.setPixelRatio(window.devicePixelRatio > 1 ? 2 : 1); // Scene const scene = new THREE.Scene(); scene.background = new THREE.Color("white"); // Camera const camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 ); camera.position.y = 1.5; camera.position.z = 4; scene.add(camera); // Light const ambientLight = new THREE.AmbientLight("white", 0.5); scene.add(ambientLight); const directionalLight = new THREE.DirectionalLight("white", 1); directionalLight.position.set(1, 1, 2); scene.add(directionalLight); // Controls const controls = new OrbitControls(camera, renderer.domElement); // Mesh const geometry = new THREE.BoxGeometry(2, 2, 2); const mesh = new THREE.Mesh(geometry, materials); scene.add(mesh); // 그리기 const clock = new THREE.Clock(); function draw() { const delta = clock.getDelta(); renderer.render(scene, camera); renderer.setAnimationLoop(draw); } function setSize() { camera.aspect = window.innerWidth / window.innerHeight; camera.updateProjectionMatrix(); renderer.setSize(window.innerWidth, window.innerHeight); renderer.render(scene, camera); } // 이벤트 window.addEventListener("resize", setSize); draw(); }
-
미해결Three.js로 시작하는 3D 인터랙티브 웹
three.js 사용방법 1
아무것도 뜨지 않습니다 왜그럴까요?
-
해결됨웹 애니메이션을 위한 GSAP 가이드 Part.01
fork 주소가 어떻게 되나요?
강의노트 주소는 어디에 있나요 아무리 찾아봐도 없네요
-
미해결Three.js로 시작하는 3D 인터랙티브 웹
dat.gui
react에 three.js를 따라하고 있습니다. 그런데 다른건 다 잘 되는데 dat.GUI는 똑같이 따라 하니 안되네요 혹시 다른 방법을 더 추가 해야 할까여 import * as THREE from 'three'; import dat from 'dat.gui'; export default function example() { const scene = new THREE.Scene(); const renderer = new THREE.WebGLRenderer({ antialias : true }); renderer.setSize(window.innerWidth, window.innerHeight); renderer.setPixelRatio(window.devicePixelRatio>=1 ? 2 : 1); document.body.innerHTML=""; document.body.appendChild(renderer.domElement); // Camera const camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 ); camera.position.y = 1; camera.position.z = 5; scene.add(camera); // Light const ambientLight = new THREE.AmbientLight('white', 0.5); scene.add(ambientLight); const directionalLight = new THREE.DirectionalLight('white', 1); directionalLight.position.x = 1; directionalLight.position.z = 2; scene.add(directionalLight); // Mesh const geometry = new THREE.BoxGeometry(1, 1, 1); const material = new THREE.MeshStandardMaterial({ color: 'seagreen' }); const mesh = new THREE.Mesh(geometry, material); scene.add(mesh); // Dat GUI const gui = new dat.GUI({ name: "My GUI" }); console.log(gui) gui.add(mesh.position, 'y', -5, 5, 0.01).name('큐브 Y'); gui.add(camera.position, 'x', -10, 10, 0.01).name('카메라 X'); camera.lookAt(mesh.position); // 그리기 const clock = new THREE.Clock(); function draw() { const time = clock.getElapsedTime(); mesh.rotation.y = time; camera.lookAt(mesh.position); renderer.render(scene, camera); renderer.setAnimationLoop(draw); } function setSize() { camera.aspect = window.innerWidth / window.innerHeight; camera.updateProjectionMatrix(); renderer.setSize(window.innerWidth, window.innerHeight); renderer.render(scene, camera); } // 이벤트 window.addEventListener('resize', setSize); draw(); }
-
미해결인터랙티브 개발 실무 끝장내기 [역량 강화편]
모바일 스와이프 구현 마지막 숙제
혹시 모바일 cd플레이어 관련해서 function touchFunc(e) { let type = null; let touch = null; switch (e.type) { case "touchstart": type = "mousedown"; touch = e.changedTouches[0]; start_X = touch.clientX; end_X = 0; break; case "touchend": type = "mouseup"; touch = e.changedTouches[0]; end_X = touch.clientX; let chkNum = start_X - end_X; let chkNumAbs = Math.abs(chkNum); if (chkNumAbs > 100) { console.log(chkNum); if (chkNum < 0) { if (pageNum > 0) { pageNum--; } else { pageNum = totalNum - 1; } } else { if (pageNum < totalNum - 1) { pageNum++; } else { pageNum = 0; } } pageChangeFunc(); } break; } }마지막으로 숙제해주신부분에서 pageNum이계속해서 -- 또는 ++ 이면 없는 인덱스까지 튀어나오기때문에 주석해주신 부분에서 pageNum의 컨디션을 넣어주어야 한다고 생각해서 작성했는데 혹시 맞는지 궁금합니다
-
미해결Three.js로 시작하는 3D 인터랙티브 웹
섹션3. 회전 강의에서 reorder 메서드가 잘 이해되지 않습니다.
제가 3D를 잘 몰라서 그런지 강사님이 설명해주신것과 실제 화면상의 결과물이 다소 다르게 보입니다.제가 생각한 것으로는 reorder() 메서드를 사용하면 mesh의 각 면의 x, y, z 방향을 재정리해서 y축 방향으로 45도 돌아간 상태가 새로운 기준이 된다고 생각했는데 몇번 테스트해보면서 써보니 그게 아닌 것 같아요.혹시 reoreder()가 정확히 어떻게 동작하는지 조금 더 자세히 설명해주실 수 있나요?또 reorder() 메서드에서 인자로 줄 수 있는 "XYZ", "YXZ", "XZY" 등등은 무슨 차이가 있는지 궁금합니다.
-
미해결웹 애니메이션의 새로운 표준, Web Animations API
web animation api를 통한 apple page
안녕하세요강의를 들으면서 궁금한 사항이 생겨서 질문드립니다!1분 코딩님께서 제작하신 강의중에 apple페이지를 클론 코딩하는 강의가 있는데web animation API를 통해서는 똑같이 만들수없을까요??그리고 web animation API를 통해서 canvas를 조작할수는 없을까요?
-
미해결실전! 웹사이트제작! Step By Step! _Basic (한화캐미컬_반응형웹)
태그 사용 관련 질문 있습니다.
안녕하세요, 좋은 강의 제공 해주셔서 감사드립니다.section.about 영역 마크업 강의 수강 중 궁금한게 있어 질문 드립니다.img 태그를 감싸실 때 p 태그를 사용 하셨는데 따로 이유가 있을까요? UI상 리스트에서 하나의 문단으로써 자리하기에 그런것일까요?<li> <a href="#"> <p class="img"> <img src="img/about_1.jpg" alt="회사소개" /> </p> <div class="text"> <h3>회사소개</h3> <p>삶의 가치를 높이는 기술기업, 한화 케미칼</p> <p class="more">more</p> </div> </a> </li>
-
미해결인터랙티브 웹 개발 제대로 시작하기
css 는 직접 작성을 해야하는걸까용?
캐릭터에 대한 css 작성 강의가 없는데 이 부분은 제가 직접 작성하면 되는 부분일까요?
-
미해결인터랙티브 웹 개발 제대로 시작하기
translateZ 에 px 이 아닌 vw 로 값을 주신 이유가 있을가요?
transform: translateZ(-490vw); /* 줌아웃 */ .wall-front-a{transform: translateZ(300vw);} .wall-front-b{transform: translateZ(50vw);} .wall-front-c{transform: translateZ(-200vw);} .wall-front-d{transform: translateZ(-500vw);} 이렇게 translateZ 에 px, rem , % 이가 아닌 vw 를 사용하신 이유가 가로축 을 기준으로 원근감을 주기 위해서 이신게 맞을까요?
-
미해결인터랙티브 웹 개발 제대로 시작하기
house 부분에도 width , height 부분을 꽉 차게 주신 부분이 제가 이해한게 맞는지 궁금합니다.
안녕하세요 강의들으면서 제가 제대로 이해한게 맞는지 궁금해서 문의 드립니다.강의에서.house{ width: 100vw; height: 100vh; transform-style: preserve-3d; }이렇게 css 를 지정해주신 이유가 스크롤을 했을때 house 안에 있는 자식요소들이 꽉차게 보이기 위해서 그렇게 지정하신게 맞으신걸까요?
-
미해결웹 애니메이션의 새로운 표준, Web Animations API
리액트에서 scroll-timeline.js 불러오는 법
현재 리액트 프로젝트에 web animations api를 도입하려고 하는데요. 라이브러리는 react-web-animation을 쓰고 있습니다. 그런데 강의에서 사용한 scroll-timeline.js를 그대로 가져와서 import 하였더니 이러한 에러가 발생합니다.어떻게 에러를 해결할 수 있을 까요?
-
미해결인터랙티브 웹 개발 제대로 시작하기
left:-400vw 가 아닌 translateZ(100vw); 을 입력하신 이유가 궁금합니다.
벽의 위치를 지정하면서 left:-400vw 가 아닌 translateZ(100vw); 을 입력하신 이유가 궁금합니다.
-
미해결실전! 웹사이트제작! Step by Step! ('크루알라모드'_반응형웹 제작)
수업자료를 다운받으면 오류가 납니다,,ㅠㅠ
수업자료 다운받으면 이렇게 뜨면서 압축해제도 되지않습니다,, gygy0604@naver.com 으로 자료파일 보내주시면 감사드리겠습니다.