콘솔 상태바 우클릭 > 설정으로 들어가셨을 때 '기본 터미널 응용 프로그램' 옵션을 Windows 터미널 말고 캡쳐와 같은 Windows 콘솔 호스트로 바꿔보세요 강사님 화면에 띄워지는 터미널처럼 보라색 아이콘의 터미널이 띄워지는데 여기선 폰트 설정 안해도 원이 잘 나옵니다! 저는 암만 글꼴 설정 이것저것 해봐도 정사각형으로 안나오더라구요 ㅜ
문제는 해결했지만, 강의에 큰 오류가 있는 것 같아, 강의를 듣는 분들에게 공유하는 것이 좋다 생각돼서 글을 작성했습니다. 강의의 Transform 코드가 미흡하다 생각해서, [LH, row_major, 요우->피치->롤] 을 전제로 하는 Transform ( Vec3, Vec4, Matrix3x3, Matrix4x4, Quaternion ) 을 다른 교재(이득우저 게임수학) 를 참조하여, 강의 코드에 적용해서 공부하고 있었습니다. 문제없이 잘 진행되다, 65.애니매이션 #2 에서 AssimpTool 로 FBX를 변환한 데이터를 애니매이션 진행할시, 로테이션이 반대로 되는 문제가 있었습니다. 이틀에 걸려 문제 원인을 찾았는데, 원인 코드는 아래와 같습니다 (강의 코드의 AssimpTool 프로젝트의 Utils 파일의 Converter.cpp 의 내용) /* std::shared_ptr<asAnimationNode> Converter::ParseAnimationNode(shared_ptr<asAnimation> animation, aiNodeAnim* srcNode) { std::shared_ptr<asAnimationNode> node = make_shared<asAnimationNode>(); node->name = srcNode->mNodeName; uint32 keyCount = max(max(srcNode->mNumPositionKeys, srcNode->mNumScalingKeys), srcNode->mNumRotationKeys); for (uint32 k = 0; k < keyCount; k++) { asKeyframeData frameData; bool found = false; uint32 t = node->keyframe.size(); // Position if (::fabsf((float)srcNode->mPositionKeys[k].mTime - (float)t) <= 0.0001f) { aiVectorKey key = srcNode->mPositionKeys[k]; frameData.time = (float)key.mTime; ::memcpy_s(&frameData.translation, sizeof(Vec3), &key.mValue, sizeof(aiVector3D)); found = true; } // Rotation if (::fabsf((float)srcNode->mRotationKeys[k].mTime - (float)t) <= 0.0001f) { aiQuatKey key = srcNode->mRotationKeys[k]; frameData.time = (float)key.mTime; frameData.rotation.x = key.mValue.x; frameData.rotation.y = key.mValue.y; frameData.rotation.z = key.mValue.z; frameData.rotation.w = key.mValue.w; found = true; } */ ==>> 위 코드에서, Quaternion 로테이션을 전치하기 위해, x, y, z 의 부호를 거꾸로 하는 코드가 필요합니다. 수정한 제 코드에는 아래와 같습니다 frameData.rotation.X = -key.mValue.x; frameData.rotation.Y = -key.mValue.y; frameData.rotation.Z = -key.mValue.z; frameData.rotation.W = key.mValue.w; 저렇게 코드를 수정하니, (LH, row_major) 를 전제로 하는 Transform 코드에서 잘 작동하더군요. 물론 강의의 DirectX::SimpleMath 를 바탕으로 만들어진 Transform 을 사용하면 아무 문제 없습니다. 제가 SimpleMath를 제대로 이해하지 못해서, 어떻게 강의 코드가 잘 작동하는지를 이해하지는 못했고, 여전히 의문이 남습니다. 강의에서도 FBX 데이터는 RH 를 전제로 만들어졌고, 강의는 LH 를 전제로 하기에, AssimpTool 에서 본 트랜스폼 데이터를 변환할 때에, 아래 강의 코드인 Converter::ReadModelData 에서, bone->transform = transform.Transpose(); 트랜스폼을 전치합니다. Converter::ReadKeyframeData 에서도, if (findNode == nullptr) 에서도 transform = transform.Transpose(); 로 전치를 하는데, 앞서 제가 수정했던 else (애니매이션 데이터가 있는 부분) 에서는 전치 (rotation을 거꾸로 전환하는 코드) 가 누락됐습니다. 정리하면, 강의의 일부 코드에서는, RH -> LH 를 위한 전치(로테이션 거꾸로) 코드가 있는데, 일부 코드에서는 전치 코드가 없는데도, 강의 코드는 잘 작동한다는 겁니다. 아무튼 제 문제는 해결됐습니다. 강의를 보다 혼동하실 분들이 제 글을 참고했으면 좋겠네요. 제 코드를 담은 깃허브 링크도 공유합니다 https://github.com/HeeTaeKim996/Learning_DirectX11_3D
AI agent노드에서 HTML코드를 생성하는데 자꾸 백슬래시(\)가 따라 붙네요. 프롬프트에도 쓰지말라고 다시 한 번 명시를 했는데도 안돼서, Set노드를 통해 제거를 했는데도 output값에 자동으로 달려 나옵니다. 이런식으로 Set노드를 설정했는데 output값에 여전히 \가 붙습니다. "<div style=\"line-height: 1.6;\"><h1>초보자를 위한 완벽한 파이썬 입문 방법 (2025년 최신, 설치부터 기초 강의 추천까지)</h1><div style=\"background-color: #E5FAF7; color: #015249; border: 1px solid #C4E1DC; padding: 30px; margin: 30px 0; border-radius: 20px; box-shadow: 0 2px 4px rgba(0,0,0,0.05);\"><p style=\"color: #015249 !important; font-size: 20px !important;\"> 근데 뭐가 문제인지는 모르겠는데 또 Set노드의 expression창을 키워서 들어가보면 output값이 깨끗하거든요? 근데 왜 실제 결과값에는 자동으로 저런게 붙는지 모르겠습니다..
안녕하세요 교수님. 좋은 강의 항상 감사합니다. 강의 후반부에 StartInputAbility에 태그를 달아주는 부분을 보여주셨는데 그렇다면 강의 초반에 사용했던 StartAbility, StartInputAbility들 모두에 GiveAbility를 호출해야하나요? 제 생각에는 StartInputAbility에만 해줘도되지 않나 궁금해서 질문드립니다. 감사합니다
echo $CONFLUENT_HOME이 정확한 위치인것 확인했고, zookeeper.properties와 zookeeper-server-start가 정확한 위치인 것도 확인했습니다. 그러나 zookeeper-server-start $CONFLUENT_HOME/etc/kafka/zookeeper.properties를 치면 아무것도 나오지 않습니다. 에러 문구조차도 없네요
안녕하세요, Java, Spring을 사용하는 백엔드 개발자분들을 대상으로 책 스터디를 진행하려고 합니다. 지금까지 '가상 면접 사례로 배우는 대규모 시스템 설계 기초', '헤드 퍼스트 디자인패턴', '친절한 SQL 튜닝' 서적을 진행했습니다. 진행방식 : 각자 매주 정해진 분량을 읽고 요약 내용을 Git에 올린 후 1 - 2명이 구글미트로 발표하는 방식입니다. 진행시간 : 매주 수요일 오후 10시 대상도서 : 진행할 책은 '모던 자바 인 액션'입니다. 해당 도서를 완독하면 다음책으로 넘어갈 예정입니다. 진행인원 : 6명 참여 의사가 있으신 분은 아래 링크에서 설문지를 작성해주시면 감사하겠습니다. https://docs.google.com/forms/d/e/1FAIpQLSdhWZw3uk9IsvSimJjrb6yFhOMfuqP0Xlp4ScMgs0-F1WBalQ/viewform?usp=header
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 선생님 ! 조합을 직접 그려보라고 하셔서, 직접 그림으로 표현해보다 궁금한게 생겨 질문드립니다. 타고 내려가다가 c(2, [0,1,2]) 해당 부분에서 , start = 1 i=2 인 상태에서 b.pop_back()을 진행하면, 백터 b에만 영향을 미치는거 아닌가요? 왜 i--를 해주지 않아서 i =2로 그대로 남아 있는데, C(3, [0,1,3])이 될 수 있는지 궁금합니다 .ㅠㅠ
강사님 풀이대로하고 코딩채첨을 했더니 런타임 에러가 뜨네요 import java.util.Scanner; public class Main { public int solution(int n) { int answer = 0; int[] isPrime = new int[n + 1]; for (int i = 2; i <= n; i++) { if (isPrime[i] == 0) { answer++; for (int j = i * i; j <= n; j += i) { isPrime[j] = 1; } } } return answer; } public static void main(String[] args) { Main m = new Main(); Scanner sc = new Scanner(System.in); int n = sc.nextInt(); System.out.println(m.solution(n)); } } 이렇게 하고 그대로 복붙했더니 런타임 에러가 뜹니다.
안녕하세요 삼코치님, 질문사항이 있습니다. 하나의 MCU만 사용하여 UART등을 이용하여 debug 할 수도 있을 것 같은데, MCU를 2개를 사용하여 하나는 main, 다른 하나는 debug용으로 사용하는 이유가 있나요? datasheet를 보면 MCU에도 ADC가 들어가 있는 것 같은데 따로 ADS122C04 를 선택해서 쓰는 이유가 있나요? 저희가 원하는 spec을 만족시키지 못해서 다른 ADC를 사용하는거라면 만약 MCU에 있는 ADC가 spec을 만족시킨다면 따로 ADC가 필요없을까요? 3. 사진처럼 VDD를 연결해줄때 cap을 달아주는 이유가 궁금해 찾아보니 전원안정화, 노이즈 제거 때문이라고 나오는데 잘 이해가 안돼서 이 부분에 대해 설명해 주실 수 있나요?
맵에 Use Animation BluePrint를 적용한 스켈레탈 매쉬를 배치했을 경우, 이렇게 해보면 Hello도 출력되고 ThirdPersonCharacter도 잘 움직입니다. Get Owning Actor를 Cast To Character 했을 때 성공 또는 실패 하나만 될 것 같았는데, cast 성공할 때 동작과 실패했을 때 동작 모두 되는데 이럴 수도 있는 건가요?