묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨블렌더 지오메트리 노드 클래스 Part 1
Set Materail 노드 색상 구성
안녕하세요. 스프링클스의 Set Material 노드 적용시 색상이 다양하게 구현되는데요. 이건 어떤 방식으로 구성하는지 궁금합니다.
-
해결됨친절한 블렌더 - [LV.0] 입문 필수
shade auto smooth 기능이 안 보여요.
7:24 이 부분에서 물체를 우클릭했을 때 Shade Auto Smooth 기능이 보이지 않는데 어떻게 하면 기능을 찾을 수 있을까요?
-
해결됨친절한 블렌더 - [LV.2] 모델링 연습
화면에 X축 Y축이랑 주황색 표시(활성화 되었다는 표시)가 안 보여요
뭘 잘못눌렀는지 갑자기 X축 Y축도 안 보이고 주황색 표시도 안 보여요..단축키를 잘못누른걸까요?다시 띄우려면 어디서 찾아야 하죠..?
-
해결됨친절한 블렌더 - [LV.3] 캐릭터 애니메이션
Sculpt Mode의 대칭 기능 Symmetrize와 Mirror Modifier 관련 질문입니다.
안녕하세요. Sculpt Mode의 대칭 기능 Symmetrize를 사용해서 팔 반대 부분도 만들어주려했는데요~오리진 Crtl A - Apply All를 하지 않고 작업을 계속 해서 그랬던건지.. 팔 부분 대칭도 되지 않고 몸통 수정한게 반대쪽에는 적용이 되지 않아서요.이후 Alt Z 눌러서 몸통 반 지운 후 Mirror Modifier에서 얼굴 스포이드 찍어서 반대쪽도 똑같이 만들어준 후 Apply 했고 오리진도 Crtl A - Apply All 눌러줬습니다ㅠㅠ Symmetrize 사용하지 않고 Mirror Modifier로 작업해도 이후 수업에 지장을 받지 않는거 맞을까요?(차이점이 어떤건지도 궁금합니다..)쓰다보니 길어졌습니다ㅠㅠ 바쁘시겠지만 답 해주시면 감사하겠습니다~
-
미해결Three.js로 시작하는 3D 인터랙티브 웹
gltf.scene.children 이 없는데도 모델이 화면에 떠요
ilbuniMesh를 위 사진과 같이gltf.scene.children[0]으로 정의하였는데,console.log(gltf)를 해보면 따로 children이 없는데도 정상적으로 출력됩니다. 또한 gltf.scene.children[0]가 아닌gltf.scenes[0].children[0] 으로 해도 정상적으로 출력되는데 혹시 어떤 차이점이 있는건지도 답변이 가능할까요?? 저 또한 블렌더에서 Object만 선택한 후 export 하면 애니메이션 오류가 뜨고 (uuid) Object와 뼈대를 같이 선택한 후에 export 해야 정상적으로 출력됩니다 ㅠㅠ
-
해결됨친절한 블렌더 - [LV.1] 기초 모델링
문 아래쪽의 인셋페이스가 동시에 적용이 안 돼요
모델링2 (15:31~)-인셋페이스를 I를 눌러 인디비주얼이 아닌 채로 인셋페이스를 하는게 안 돼요. 선택까지는 되는데 마우스를 움직이면 원래 인셋페이스가 창문때처럼 적용이 되어야 하지만 인티비주얼만 끄면 안 돼요블렌더는 4.3 쓰고 있어요
-
해결됨블렌더 3D 미피 캐릭터 인사하는 애니메이션 만들기
미러모디파이어로 원 만들때 각이지는 문제 질문드려요
점을 지워서 반원으로 만들기>어플라이 all transform, scale하기> 미러모디파이어> 섭디비모디파이어이 순서로 진행했는데요,,저 원 중간에 각이 왜 생기는 걸까요..?클리핑을 활성화 하거나 merge값을 키워도 해결이 안되네요 ㅜ어플라이가 문제인가 싶어 어플라이 없이 진행해도 결과가 같아요 제가 설정창을 잘못 건드린 걸까요..? 이전에 미피 얼굴 만들때엔 스무스한 원이었는데 미러하면 자꾸 각이 생기게 되네요
-
해결됨친절한 블렌더 - [LV.2] 모델링 연습
blender 4.0 버전을 따로 다운 받을 수 있는 링크가 있을까요?
blender 4.0 버전을 다운 받을 수 있는 링크가 있을까요? 선생님께서 강의에 사용하신 같은 버전으로 다운 받으려고 사이트에 검색도 해보고 강의 영상도 다시 봤는데 잘 모르겠어가지고요ㅠㅠ 최신 버전인 4.3하고 4.2LTS 다운만 받을 수 있는 것 같은데 따로 방법이 있는건지 문의드립니다~
-
해결됨친절한 블렌더 - [LV.2] 모델링 연습
Material Properties - Surface - Subsurface - Weight, Scale이 보이지 않습니다.
막힌 부분의 시간과 안 되는 부분과 현상34:41, 블렌더 버전이 달라서 그런건지ㅠㅠ 제 화면에서는 스크린샷과 같이 나와서요. Weight, Scale 등이 보이지 않는데 어떻게 해결해야 하는걸까요?
-
해결됨블렌더 3D 아이소메트릭 방 만들기
퇴근 후 4시간 걸려 완성 !
뿌듯합니다
-
해결됨친절한 블렌더 - [LV.2] 모델링 연습
Annotation사용한뒤 Gstretch를 눌렀으나 적용이 안됩니다ㅠㅠ
안녕하세요! 섹션3 깔개작업 실습하는 도중에 막히는 부분이 있어 질문남깁니다! (9:50) Edit Mode에서 annotation을 사용하고 Gstretch를 사용하기 위해N을 눌러서 뜨는 창의 Edit- Looptool - Use guide를 annotation으로 바꿔 Gstretch를 눌렀으나적용이 되지 않습니다ㅠㅠ 설정을 바꾸고 Gstretch를 누르면 아래에active Annotation strokes ot found 라는 문구가 나오는데 어떻게 해결해고 Gstretch를 적용시킬수 있을까요? Mesh에서 떼어내 Extrude 해서 시도 해보고, 새로 만들어서 해봐도 똑같은 현상입니다ㅠㅠ
-
미해결Three.js로 시작하는 3D 인터랙티브 웹
GLF파일 export한 후에 three.js에서 렌더링 된 모델에는 텍스처 적용이 안되어있습니다..!
블렌더에서는 텍스처가 적용된걸로 보이는데, export한 후에 three.js에서 렌더링 하면 텍스처가 적용되지 않은 모델로 보입니다 ㅜㅜ제공된 ilbuni.glb 파일을 사용하면 문제가 없는걸로 보아 코드 문제는 아니고, 블렌더에서 뭔가 잘못된거 같은데 이유를 모르겠습니다..! 아시는분들 답변부탁드립니다!! 익스포트 설정
-
해결됨블렌더 3D 미피 캐릭터 인사하는 애니메이션 만들기
블렌더 F12 렌더 오류
수업 16:01 부분에 렌더를 돌리는 부분에서 오브젝트는 나오지 않고 그리드만 나오는데 해결방법이 없을까요? 인터넷에 나오는visivility - mask 체크, 카메라 확인, 슬롯 확인, Post Processing의 compositing과 Sequencer 체크 등등 확인 했는데 나오지 않습니다.
-
해결됨블렌더 3D 미피 캐릭터 인사하는 애니메이션 만들기
블렌더 버전 업데이트에 따른 설정 변경
안녕하세요. 블렌더는 처음이라 어렵지만 어찌저찌 해서 풍선모델링+랜더링 부분까지 왔는데요. 블렌더가 업데이트 버전으로 하려니 아마 설정 위치 같은 것이 변경이 되어서 초급자가 찾기가 참 어렵네요..모르는 것은 검색해서 진행해 왔지만 이것만큼은 도저히 찾기가 어려워 질문 드립니다.지금 랜더엔진 부분의 Eevee엔진에서 Ambient Occlusion, Bloom, Screen Space Reflections를 체크하면 좀 더 예쁜 작업물을 얻을 수 있다 하셨는데 블렌더 업데이트 버전에는 저 부분들이 보이지 않고 있습니다. 어디에 들어가면 확인할 수 있을까요?? (강의 타임라인은 풍선 모델링 + 렌더링 15:24부분)
-
미해결Three.js로 시작하는 3D 인터랙티브 웹
일반 유리, 강화 유리 강의에서 Glass 객체의 position X를 -1, 1로 설정한 이유를 모르겠어요
각 Glass 객체의 position X 값을 -1, 1로 설정하셨는데, 어떤 계산이 들어간걸까요? 아니면 값을 넣어보면서 맞추는건가요? // 유리판 for (let i = 0; i < numberOfGlass; i++) { const glass1 = new Glass({ name: 'glass', x: -1, y: 10.5, z: i * glassUnitSize * 2 - glassUnitSize * 9, }); const glass12 = new Glass({ name: 'glass', x: 1, y: 10.5, z: i * glassUnitSize * 2 - glassUnitSize * 9, }); }
-
해결됨친절한 블렌더 - [LV.2] 모델링 연습
복사하기 단축키
선생님 복사할 때, Alt D와 Shift D는 차이가 있나요?
-
해결됨친절한 블렌더 - [LV.2] 모델링 연습
블랜더의 삼각형
블랜더는 여타 프로그램과 다르게 삼각형을 신경쓰지 않아도 괜찮은 건가요? 버텍스에 Bevel을 줬을 경우 삼각형으로 만들어져서 신경이 쓰입니다. 버텍스에 Bevel을 줬을경우 사각형으로 만드는 방법도 있는지 궁금합니다.
-
해결됨블렌더 3D 아이소메트릭 방 만들기
침대 세부 Scale 조절 시
2:00, Scale - Y로 침대 안쪽 옆면을 수정할 때, 저는 면에만 영향이 있고 윗면에는 반영이 안 되는데, 무엇이 문제일까요? 2:27,헤드 스케일을 Scale - Y로 조절했을 때, 선만 움직이지 않고 모양이 잘라져버립니다. 무엇이 잘못된 걸까요?
-
미해결Three.js로 시작하는 3D 인터랙티브 웹
그림자가 다르게 표현됩니다
강의 코드를 그대로 따라하면 mesh 색이 어두운 회색으로 표현되고 그림자가 생기지 않는 문제가 있습니다. 그래서 SpotLight의 위치와 강도를 조정했더니 그림자는 나타나는데 강의영상처럼 모든 집에대한 그림자가 동일하게 나오는 것이 아니라 맨 처음 집에 대한 그림자만 선명히 나타납니다! 빛을 한방향에서만 쏘기 때문에 저 처럼 표현되는게 맞는 것 같은데, 강의영상처럼 모두 동일한 그림자를 표현하려면 어떻게 해야할까요..? import * as THREE from 'three'; import { GLTFLoader } from 'three/examples/jsm/Addons.js'; import { House } from './House'; import gsap from 'gsap'; // ----- 주제: 스크롤에 따라 움직이는 3D 페이지 // 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); renderer.shadowMap.enabled = true; // 그림자 설정, mesh도 함께 설정해야함 renderer.shadowMap.type = THREE.PCFSoftShadowMap; // 그림자 부드럽게 // 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.set(-5, 2, 25); scene.add(camera); // Light const ambientLight = new THREE.AmbientLight('white', 2); scene.add(ambientLight); const spotLight = new THREE.SpotLight('white', 500); spotLight.position.set(-5, 10, 30); // 그림자 설정 spotLight.castShadow = true; spotLight.shadow.mapSize.width = 1024; // 그림자 퀄리티 조정(성능에 크게 영향을 미치지 않는 정도) spotLight.shadow.mapSize.height = 1024; // 그림자 퀄리티 조정(성능에 크게 영향을 미치지 않는 정도) spotLight.shadow.camera.near = 1; spotLight.shadow.camera.far = 1000; scene.add(spotLight); const spotLightHelper = new THREE.SpotLightHelper(spotLight, 'red'); scene.add(spotLightHelper); // --- (2) HemisphereLight 추가 --- // const hemiLight = new THREE.HemisphereLight('white', 'white', 2); // scene.add(hemiLight); const gltfLoader = new GLTFLoader(); // Mesh const floorMesh = new THREE.Mesh( new THREE.PlaneGeometry(100, 100), new THREE.MeshStandardMaterial({ color: 'white', roughness: 0.4, // 필요에 따라 조절 metalness: 0.2, // 필요에 따라 조절 toneMapped: false, }) // 강의에는 MeshStandartMaterial 사용했는데, 이거 사용시 floorMesh가 하얀색이 아닌 회색으로 보여서 변경 ); floorMesh.rotation.x = -Math.PI / 2; // 180//2 = 90도 floorMesh.receiveShadow = true; // floorMesh에 그림자가 그려지기 때문에 recieveShadow 사용 scene.add(floorMesh); // 하우스를 통해 그림자가 만들어져야 하므로 -> castShadow const houses = []; houses.push( new House({ gltfLoader, scene, modelSrc: '/models/house.glb', x: -5, z: 20, height: 2, }) ); houses.push( new House({ gltfLoader, scene, modelSrc: '/models/house.glb', x: 7, z: 10, height: 2, }) ); houses.push( new House({ gltfLoader, scene, modelSrc: '/models/house.glb', x: -10, z: 0, height: 2, }) ); houses.push( new House({ gltfLoader, scene, modelSrc: '/models/house.glb', x: 10, z: -10, height: 2, }) ); houses.push( new House({ gltfLoader, scene, modelSrc: '/models/house.glb', x: -5, z: -20, height: 2, }) ); // 그리기 const clock = new THREE.Clock(); function draw() { const delta = clock.getDelta(); renderer.render(scene, camera); renderer.setAnimationLoop(draw); spotLightHelper.update(); } let currentSection = 0; function setSection() { // console.log('setSection 실행!'); // setSection 스크롤할때마다 실행됨 const newSection = Math.round(window.scrollY / window.innerHeight); // 0,1,2,3,4 if (currentSection !== newSection) { console.log('animation!'); // section값이 바뀔때만 애니메이션이 동작하도록 gsap.to(camera.position, { duration: 1, x: houses[newSection].x, z: houses[newSection].z + 5, }); currentSection = newSection; } } function setSize() { camera.aspect = window.innerWidth / window.innerHeight; camera.updateProjectionMatrix(); renderer.setSize(window.innerWidth, window.innerHeight); renderer.render(scene, camera); } // 이벤트 window.addEventListener('scroll', setSection); window.addEventListener('resize', setSize); draw();
-
미해결Three.js로 시작하는 3D 인터랙티브 웹
setAnimationLoop 위치가...
현재 애니메이션 기본 수업부터 scale까지 봤는데,setAnimationLoop 가 draw 안에 등록되서 매번 반복으로 실행되는것 같은데,화면갱신에 관련된 render만 반복시키고setAnimationLoop는 바깥에서 한번만 등록하는게 옳은 방법이 아닌가 하고 의문이 드는데 어떤게 맞는건가요?동작은 둘다 똑같이 되긴 합니다. const draw = () => { /* 메쉬 애니메이션 처리 코드 들어갈 위치 ... */ renderer.render(scene, camera); } renderer.setAnimationLoop(draw);