전체 글 (201)

  • 2020.07.13
  • 2019.09.22
  • 2019.07.04
  • 2019.04.17
  • 2019.04.12
  • 2019.03.19
  • 2019.03.19
  • 2019.01.14
  • 2019.01.11
  • 2019.01.11
  • 2019.01.11
  • 2019.01.03
  • 07
    13



    이펙트를 위한 파티클시스템을 만들어 Effect01.cs 스크립트를 사용한다.

    Player Center에는 플레이어의 중심을 알 수 있는 오브젝트를 사용한다.


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    // Effect01.cs
    using UnityEngine;
     
    public class Effect01 : MonoBehaviour
    {
        public GameObject PlayerCenter;
        private Vector3 PlayerCenterPos;
        private Vector3 Offset;
        public float Radius; // 회전 반지름
        public float Speed; // 회전 각속도
        public float OffsetDelay; // 각도 초기값
        public float OffsetLerp; // PlayerCenter에 따라붙는 속도
        private Vector3 ToPos; // PlayerCenterPos + Offset
        
        void Update()
        {
            PlayerCenterPos = PlayerCenter.transform.position;
     
            // 움직이는 모양을 설정
            Offset = new Vector3(
                Mathf.Cos(Time.timeSinceLevelLoad * Speed + OffsetDelay*(float)Mathf.PI*2 ),
                0,
                Mathf.Sin(Time.timeSinceLevelLoad * Speed + OffsetDelay * (float)Mathf.PI * 2));
     
            // 기본 세팅
            Offset *= Radius;
     
            // 좀 더 랜덤한 움직임을 위한 식
            //Offset *= Mathf.Abs(2.0f- (float)(Time.timeSinceLevelLoad % 4.0)) * 0.5f * Radius + Radius;
     
            ToPos = PlayerCenterPos + Offset;
     
            // Lerp함수는 출발지에서 도착지까지의 자연스러운 움직임이 가능토록 함
            transform.position = Vector3.Lerp(transform.position, ToPos, OffsetLerp);
        }
    }
     
    cs


    반응형
    COMMENT
     
    09
    22

    에러 해결 : 스튜디오원 실행 시 다른 응용프로그램 소리 멈추는 오류 해결

     

    뭐, 동시에 틀면 동영상 및 음악 재생 프로그램이 멈춘다던가,

    유튜브 재생 중에 스튜디오원을 켜면 오디어 랜더기 오류입니다 라면서 멈춘다던가 그거입니다.

     

    검색 해 보면 옵션 패널(상단바의 Studio one - Option)에서

    release audio device in background를 체크해야한다, 하지 말아야 한다 이런 답변을 봤는데,

    저의 경우에는 '오디오 디바이스를 백그라운드에서 해제'라고 써 있기 때문에 체크를 해제하였고요.

    (체크를 해제하면 백그라운드에서도 스튜디오원의 오디오가 작동하게 됩니다)

     

    그래도 해제가 되지 않아서 이것저것 만져보다가

    위의 스샷에서 오디오디바이스의 오른쪽에 보면 Control Panel(コントロールパネル)가 보이시나요?

    이 패널에서 엑스클루시브 모드(エクスクルーシブモード)를 체크해제하는 것으로 해결이 되었네요.

     

    어떤 역할을 하는지는 잘 모르겠으나, 일단 이것으로 유튜브를 보던가 노래를 들으면서 작업이 가능해졌습니다.

    반응형
    COMMENT
     
    07
    04

    (세 줄 요약)

     

    1. 아마존 웹 서비스(AWS) 가입

    2. EC2 서비스 생성 후 아마존이 관리하는 데스크탑(윈도우즈10) 부여받기(고정 아이피)

    3. 그냥 쓰면 방화벽에 포트가 막혀있어서 서버를 못 열기 때문에 그 해결 과정 후 테스트까지.

     

    (꼭 필요한 부분만 적어두고 나중에 점차 다듬어갈 게시글)

    (아래 한번 스크롤 빠르게 내려서 필요한 부분만 보고 해결할 것을 추천)

    (위쪽 과정은 다른 튜토리얼에서도 충분히 알 수 있는 내용임)

     

    1. AWS 가입하면 아래와 같은 솔루션 구축 창이 뜬다. 이미 아이디가 있으면 서비스란 잘 찾아보면 있다.
    2. EC2 솔루션 구축을 시작하자. 아마존으로부터 고정 아이피를 가진 가상 컴퓨터를 부여받을 수 있다.

     

    3. 윈도우즈에서 돌아가는 서버를 만들 것이기에 적당히 선택
    4. 다른 건 무료 아닌 것 같으므로 CPU1, 메모리1기가의 똥컴을 부여받는다. 선택 후 검토 및 시작을 하면
    5. 곧바로 7단계인 인스턴스 시작 검토로 넘어가는데, 여기서 보안 그룹 편집을 한번 하자. 
    6. 위와 같이 타 인터넷 환경에서 내가 사용하는 서비스에 접근 가능한 아이피와 포트를 설정 해 줄 수 있다.소스라고 되어있는 부분은 기본 모든 아이피에서 접근 가능하도록 되어있기 때문에 저렇게 놔두고, 필요한 유형(포트)을 오픈할 수 있도록 규칙 추가를 통해 위와 같이 추가 해 준다. 굳이 HTTP, HTTPS가 아니라도 필요한 포트가 있으면 더 추가해 주면 된다. 끝났다면 검토 및 시작.
    7. 인스턴스 시작하기
    8. 키 페어라는 게 있는데, 내가 생성한 인스턴스(컴퓨터)에 접근 가능하도록 패스워드같은 것. 적당히 이름을 지어 다운로드 후 잘 보존하자.
    9. 기존 사용하던 게 있다면 그대로 사용 가능
    10. 시작한 인스턴스 보기
    11. 인스턴스 상태가 준비중일 것이다. running이 되어 시간이 좀 지나면 연결이 가능하다. 아래의 '암호 가져오기'를 수행하는 데에 인스턴스 생성 후 5분정도 기다려야 되었던 것으로 기억.
    12. 켜져 있는 윈도우즈를 직접 관리하기 위해 원격 데스크톱 파일을 다운받는다.
    13. 요것.

     

    14. 아까 만들어두었던 키를 불러와서 해독한다. 그러면 아래와 같이 암호를 알려줌.
    15. 만들어진 암호를 복사(Ctrl+C) 해 두고
    16. 아까 다운받아뒀던 원격 데스크톱 파일을 실행한다.
    17. 적당히 필요에 따라 체크박스도 체크 해 주면서 예 예 하면서 진행
    18. 위와 같이 실행된 데스크탑. 전체화면으로 안 해두면 좀 다루기 힘든 감이 있다. 원격 데스크톱 설정에서 화면 크기 75% 등으로도 설정 가능하니 전체화면이 힘들다면 참고.
    19. 지금까지 봐 왔던 튜토리얼은 여기서 끝낸다 ㅠㅠㅠ 이대로면 윈도우즈에서 서버를 열어도 방화벽에 막힌 포트때문에 작동하지 않으니 좀 더 힘내자. 대충 시작버튼 누르고 Windows Defender Firewall에 접근.
    20. 좌측 탭에 Advanced Settings에 들어간다.
    21. 아까 인스턴스를 만들면서 Inbound Rules(보안그룹 설정)을 진행했었으나, 내부에서도 설정을 통해 포트를 열어주어야 하는 시스템인 것 같다. 좌측 탭의 Inbound Rules를 눌러, 우측 탭에서 새 규칙 추가를 한다.
    22. 열어두고 싶은 포트를 적어서(위 예시에서는 HTTP:80, HTTPS:443) 다음으로 진행
    23. ㅇㅇ 다음
    24. ㅇㅇㅇ
    25. 적당히 이름이랑 설명 붙여서 끝낸다.
    26. 대략 설정은 위 과정에서 끝이다. 여기서부터는 테스트이므로 굳이 안 따라하셔도 된다... 설치된 인터넷 익스플로러를 켠 후 간단한 서버 구축에 필요한 NodeJS를 다운 받을 것이다. 위와 같은 경고창 계속 나오는데 ㅠㅠㅠ 적당히 모두 Close 해 주면서 진행했다. 어디 분명 끄는 게 있을 것인데 찾아보진 않았다.
    27. NodeJS 페이지에서 현재 추천 버전인 10.16.0을 받아주었다. 스크린샷에서는 좌측 초록색 직사각형 버튼. 설치까지 마친다.

    28. 메모장을 열어 적당히 코드 작성 후 적당히 아무곳이나 저장 해 주었다.

    위 예시에서는 HelloWeb.js로 저장하였다. 

    CMD를 열어 파일 위치로 cd 명령을 통해 접근 후 node 명령으로 해당 파일을 실행한다.

    위 예시에서는 node HelloWeb.js 입력 후 엔터까지 눌러 준 상태이다.

    인터넷 창을 열어 http://localhost:(포트번호)/ 입력으로 현재 내 컴퓨터에서 송출?하는 서버의 페이지를 확인할 수 있다.

    (크롬이나 파이어폭스에서는 localhost:포트번호 만 입력해도 되지만 IE에서는 안되더라 ㅠㅠ)

    localhost는 내 컴퓨터 주소에 접근하는 키워드.

     

    코드 작성 시 8080포트로 통신하도록 써 두었었기 때문에 이대로라면 외부 IP에서는 접속할 수 없다. 그걸 어떻게 확인하느냐 하면

    29. 우측 상단의 Public IP주소를 통해 접속해보는 것이다. localhost대신 위 아이피를 대신 입력하면 인터넷 환경을 경유하여 돌아오기 때문에 접속이 되지 않을 것이다. 때문에 아래와 같이 코드 수정을 한다.

    30. 수정된 코드. 80은 HTTP로 사용되도록 설정된 기본 포트번호이기 때문에 'IP주소:80' 라고 입력해야 하는 것을 'IP주소' 이렇게 생략할 수 있다. 중요한 건 아니고..; 암튼 위와 같이 외부 IP에서도 접속이 가능하다는 것을 확인할 수 있고 이게 정말 된 것인가 신뢰가 가지 않는다면
    31. 정말로 다른 IP환경에서 접속해보면 된다. 실제 사용하는 데스크톱이든, 스마트폰이든.

     

     

    본인은 여기까지 과정을 한번에 정리해 둔 한글 튜토리얼이 없었기 때문에, 정리 해 볼 겸 작성 해 두었다.

    반응형
    COMMENT
     
    04
    17

    사전 준비

    • 연습실 PC는 "Windows10"로 시작하는

    프로젝트 만들기

    1. "Visual Studio 2017"를 시작
    2. 새로 만들기는 "파일 (F)"메뉴에서 "새로 만들기 (N)"의 "프로젝트 (P)"를 선택
    3. "Visual C ++ 프로젝트"의 "빈 프로젝트"를 선택하고 프로젝트 이름을 설정한다 (예를 들어, "cg01"등). 필요한 경우 위치도 변경 "OK"를 선택
    4. "프로젝트 (P)"메뉴에서 "새 항목 추가 (W)"를 선택하고 "C ++ 파일 (.cpp)"을 선택하고 소스 파일의 이름을 입력 (예를 들어, "main.cpp"나 프로젝트 같은 이름 등)
    5. 편집기 화면에서 프로그램 소스를 작성하고 실행할 때 "디버그"메뉴에서 "디버깅하지 않고 시작"을 선택 (ctrl + F5도 가능). 컴파일 및 빌드 할 뿐이라면 "빌드"메뉴에서 "솔루션 구축"을 선택 (ctrl + shift + B도 가능). 오류가 나오면 오류 메시지를 참고로 그 원인을 조사하고 소스를 수정한다.

    ※ 프로그램의 변경이 반영되지 않을 때는 "빌드 (B)"의 "솔루션 다시 빌드 (R)"을 선택하고 실행하면 잘될 수있다.

    OpenGL 설정

    1. "도구 (T)"> "NuGet 패키지 관리자"> "소류죤의 NuGet 패키지 관리"를 선택
    2. 참고로 검색 창에 "nupengl"등을 입력하고 "nupengl.core"를 선택하고 마우스 오른쪽 부분에서 사용하고 싶은 프로젝트를 체크하고 "설치"를 누르면
    3. 이 설정은 프로젝트마다 할 필요가있다

    OpenGL 프로그래밍의 기본

    다음 프로그램을 작성하고 실행하자. 파란색으로 그려진 창이 나타납니다.

    #include <gl/glut.h> // 画像表示の処理を記述する void display(void) { glClearColor(0.0, 0.0, 1.0, 1.0); // glClear する際の背景色を指定 glClear(GL_COLOR_BUFFER_BIT); // カラーバッファを初期化 glFlush(); // 命令の実行 } int main(int argc, char *argv[]) { glutInit(&argc, argv); // GLUTの初期化 glutInitDisplayMode(GLUT_RGB); // ディスプレイモードをRGBに設定 // ウィンドウの作成 glutInitWindowSize(640, 480); glutCreateWindow("Hello OpenGL!"); glutDisplayFunc(display); // ディスプレイ用のコールバック関数の設定 glutMainLoop(); // メインループへ return 0; }

     

     

    // 글쓴이 주석 / 코드를 옮겨올 떄 지저분하게 옮겨지기는 했는데, 실행하면 문제 없음

    반응형
    COMMENT
     
    04
    12

    1. 준비

     

    https://www.transmissionzero.co.uk/software/freeglut-devel/

     

    freeglut Windows Development Libraries

    Introduction Whilst at the University of Essex, I took a module called “Interactive Computer Graphics” (or EE222 as we referred to it). Half of the course consisted of using POV-Ray to create images, and then putting them together to make a high quality an

    www.transmissionzero.co.uk

    여기에서 freeglut 3.0.0 MSVC Package 다운로드 받는다.

    압축파일 구성은 이렇다

    필요한 것은, include 폴더, lib 폴더 그리고 bin 폴더 안에 있는 freeglut.dll 파일이다.

     

    2. Visual Studio 프로젝트 생성 및 세팅

     

    프로젝트 생성은 C++ 콘솔 어플리케이션으로 시작한다. 프로젝트 생성이 완료되었다면 위에서 받아두었던 파일을 프로젝트 폴더로 옮겨준다. 솔루션 탐색기의 프로젝트명의 우클릭으로 파일탐색기에서 폴더열기를 할 수 있다.

    프로젝트 폴더 열기

     

    include와 lib폴더 그리고, bin폴더 안에 있던 freeglut.dll 파일을 가져왔다

     

    아까와 마찬가지로 프로젝트 이름을 우클릭하여 속성에 들어가 다음과 같은 세팅을 한다.

    C/C++ 의 '일반' 탭에서 추가 포함 디렉터리에 ./include 를 넣어준다.

     

    링커의 '일반' 탭에서 추가 라이브러리 디렉터리에 ./lib 을 넣어준다.

     

    3. 예제 실행

     

    준비해 둔 예제가 있다. 복사 붙여넣기를 하여 실행 해 보자.

    정상적으로 작동하는 것을 확인하였다

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    #include "gl/glut.h"

    void display() {

     

        glClearColor(1.0f, 1.0f, 1.0f, 1.0f);

        glClear(GL_COLOR_BUFFER_BIT);

        glColor3f(0.0f, 0.0f, 1.0f);

        glBegin

     

        (GL_POLYGON);

        glVertex2f(-0.2f, -0.2f);

        glVertex2f(0.4f, -0.4f);

        glVertex2f(0.4f, 0.4f);

        glVertex2f(-0.2f, 0.2f);

     

        glEnd();

        glFinish();

    }

    int main(int argc, char** argv)

    {

        glutInit(&argc, argv);

        glutCreateWindow

        ("OpenGL");

        glutDisplayFunc(display);

        glutMainLoop();

        return 0;

    }

    cs
    반응형
    COMMENT
     
    03
    19

    [프로젝트] 유니티로 탄막슈팅게임 만들기 01


    유니티에서 오브젝트들은 다음과 같이 만들었다.



    Player 와 CameraPoint는 빈 오브젝트이며 이 두 오브젝트에 캐릭터와 카메라의 스크립트를 넣었다.


    GameManager 오브젝트는 현재 사용하지 않는다. 이후 게임 스크립트의 전체적인 관리를 하게 될 스크립트를 넣을 것이다.


    1-1. 캐릭터 움직임(Soft) 및 카메라 시점 구현 초기버전

    C# 스크립트 작성을 통해 다음과 같은 움직임을 구현하였다.



    W, A, S, D 키를 사용하여 캐릭터 오브젝트에 힘을 가하여 부드럽게 움직일 수 있고,


    Left / Right Arrow를 사용하여 카메라 시점을 회전할 수 있도록 구현했다. 



    당연하게도 이러한 키 세팅은 사용하기 어렵다. (NieR:Automata™에서는 초기 키설정이 이러하며, 뉴비들은 이 세팅에 영혼까지 털린다)



    위와 같이 3인칭 시점의 게임에서는 FINAL FANTASY XIV 정도의 세팅이 가장 편하다.


    #1. W, A, S, D를 사용해 전, 후, 좌, 우로 움직인다.

    #2. 카메라 시점은 마우스 좌 또는 우클릭 후 드래그하여 조절한다.

    #3. 마우스 휠로 줌인 줌아웃을 할 수 있다.

    #4. 캐릭터는 카메라 로컬 시점에 따른 전, 후, 좌, 우의 움직임을 갖는다.


    위 사항 중 #2 부터 #4까지 구현하는 것을 목표로 한다.


    추가 사항으로 마우스 좌클릭을 통해서는 캐릭터가 움직이는 방향에 영향을 주지 않고 '시점만' 변경할 수 있도록 구현하는 것도 엑스트라 과제이다.


    현재까지의 소스코드


    1-2. 캐릭터 움직임(Soft) 및 카메라 시점 구현 개선 버전


    위에서 목표한 네가지 모두 구현을 완료하였다.


    #1. W, A, S, D를 사용해 전, 후, 좌, 우로 움직인다.

    #2. 카메라 시점은 마우스 좌 또는 우클릭 후 드래그하여 조절한다.

    #3. 마우스 휠로 줌인 줌아웃을 할 수 있다.

    #4. 캐릭터는 카메라 로컬 시점에 따른 전, 후, 좌, 우의 움직임을 갖는다.


    카메라의 시점 변경은 우클릭 드래그로 하였다.


    이외에 더 추가한 기능으로는


    #5. 좌 Shift키를 사용하여 캐릭터의 속도 리미트를 높게 한다.

    #6. 시프트에서 손을 놓았을 경우, 그리고 WASD 중 아무것도 누르지 않을 경우 감속할 수 있도록 한다.

    #7. 카메라가 상하 90도 이상을 넘어가면 화면이 혼란해지므로 ±최대각을 적용하였다. (현재는 75도)



    여기서 몇가지의 문제가 더 발생한다.


    위 움짤에서 확인할 수 있듯이 '낙하'를 하는 경우에도 속도 리밋이 걸려 낙하에도 방해를 받는다. 조건을 x방향과 z방향에서만 받아주었는데도 문제가 해결되지 않아 난항.

     -> 나중에 이유를 알았는데, 캐릭터 Rigidbody의 Drag 항목에 0이 아닌 값이 들어있어서 자체적으로 감속되는 힘이 작용하고 있기 때문이었다.


    그리고 정말 세세한 조정이지만 좌우로 낮은 속도가 남아있는 동시에 앞으로 달리고 있다면 좌우 속도는 0이 될 수 있도록 감속을 주어야한다. 이건 선택사항이며 역시 난항.


    유니티 프로그램 내에서 '마찰'을 조정하면 되겠으나 이는 코드로서 작성하지 않고있다는 이유로 기각.



    지금까지 난항을 겪었던 이유는 캐릭터에 '힘을 주어' 움직이고 있기 때문이며 이 때문에 속도 조정에 있어 그 수치를 맞추는 것이 매우 힘들다. 코드를 수정할 수록 완성도가 높아지고 있는 건 사실이나 여기에 매우 스트레스를 받아 새로 하나의 스크립트를 작성하게 되었다.


    원래 사용하던 코드는 'PlayerSoftMove.cp'로 바꾸었으며

    새로 작성하게 될 코드는 'PlayerHardMove.cp'이다.


    파일 이름과 같게 캐릭터의 부드러운 움직임을 포기한 코드를 작성한다.



    ~현재까지의 C# 스크립트 코드 두개~






    2-1. 캐릭터 움직임 코드 재작성(Hard ver)


    현재의 카메라에서 개선해야 할 점은


    # 줌인, 줌아웃을 할 때 부드럽게 움직이면 좋겠다

    # 스크롤을 매우 빠르게 올리고 내릴 경우 줌인/아웃이 작동하지 못한다


    이 정도이며 옵션사항정도로 생각하므로 어느정도 안정화는 끝났다고 생각한다.


    따라서 캐릭터의 무빙 코드만을 재작성하자.


    새로 작성할 코드는 캐릭터 오브젝트에 힘을 가하는 것이 아니라 직접 포지션에 조작을 가한다.


    앞뒤 전후로만 움직이면 코드 작성에 있어서는 매우 편할 것이나, 문제는 카메라가 보는 방향이 캐릭터가 보는 방향이며 그 방향에 따른 움직임을 해주어야 한다는 것이다. 그렇게 제일 먼저 작성된 코드는 W키를 누를 때, 앞으로 진행하는 코드이다.




    같은 방법으로 A, S, D도 작성해준다.


    포지션의 변화는 캐릭터가 바라보는 방향(y축의 회전정도)에 따라 삼각함수를 사용하여 방향을 결정할 수 있도록 했다.

    반응형
    COMMENT
     
    03
    19

    ~ 유니티3D를 이용한 탄막슈팅게임 제작 ~



    0. 프로젝트 개요


    다음과 같은 게임을 참고 및 목표하여 탄막슈팅게임을 만든다.


    # 동방프로젝트 2차 창작게임 永遠消失的幻想鄉 ~ The Disappearing of Gensokyo


    NieR:Automata™



    1. 제작 구도


    게임의 제작은 크게

     

    1) 시스템 설계

    2) 코딩

    3) 모델링


    로 나뉜다.


    시스템 설계 단계에서 게임의 UI와 플레이 시스템을 구상한다.


    간단한 시스템 설계가 되었다고 생각하면 그에 맞추어 씬을 만들어나가며 코딩을 시작한다.


    어느정도 게임같은 체계가 잡혔다고 생각할때즈음 모델링을 시작한다.



    반응형
    COMMENT
     
    01
    14

    솔리드웍스 튜토리얼


    https://www.solidworks.com/sw/resources/getting-started-3d-parts-design.htm


    (Zoom)

    마우스 휠 : 줌인 줌아웃

    툴바 - Zoom to Fit

    툴바 - Zoom to Area - 드래그 선택 한 부분 줌인

    툴바 - Previous View(Ctrl + Shift + z)


    (View Orientation)

    툴바 - View Orientation - (9 View options, Front, Back, Left, Right, Top, Bottom, Isometric, Trimetric, Dimetric)

            스페이스바 후 선택 or 마우스 우클릭으로 드래그하여 선택

    마우스 가운데 버튼 드래그로 회전 (또는 마우스 우클릭 - Rotate View 후 마우스 왼쪽 버튼 드래그로 회전)

    Ctrl + 마우스 가운데 버튼 드래그로 이동 (또는 마우스 우클릭 - Pan 후 마우스 왼쪽 버튼 드래그로 이동)


    (Multiple Views)

    툴바 - View Orientation - View Select(Single, Two ...) 


    (Section View)

    툴바 - Section View.

             체크표시로 현재 뷰 유지하고, 한 번 더 Section View 클릭으로 되돌릴 수 있음

             좌측 섹션 탭에서 시점 변환도 가능


    (Display Style)

    툴바 - Display Style(Wireframe ~ Shaded with edges)


    (Tools)

    상단 메뉴 빈 부분에서 우클릭으로 필요한 툴바를 표시할 수 있음


    (Properties)

    만든 개체에 우클릭, 아이콘들 중 첫번째 Edit Feature를 클릭하면

    좌측에 속성 매니저가 나온다. 속성 변경 후 녹색 체크표시로 저장.


    (3D Content Central)

    다양한 3D 배포 모델을 불러올 수 있다. (회원가입 필요)

    우측의 Disign Library 탭 - 3D ContentCentral - Supplier Content - All Categories - Click Internet Icon

    Find - Community Favorites

    모델 선택 후 Configure & Download 한 후, 바로 나타나는 링크를 솔리드웍스에 드래그하여 불러올 수 있음.


    (Setting Up a New Part Document)

    새 파트 생성

    New - Part - OK


    상단의 Features 탭에서 Extruded Boss/Base를 클릭한다. 제일 먼저 스케치 작업을 할 방향을 클릭(Front 등)


    상단 Sketch 탭에서 직사각형 도구를 사용하여 화면에 드래그하여 그린다.

    녹색 체크버튼으로 완료.



    이후는 동영상 참고하는 게 좋을 듯 ㅠㅠ


    글로는 한계가 있다.



    (Creating the Base)


    (Adding The Boss)


    (Cutting the Hole)


    (Adding the Fillets)


    (Shelling the Part)


    (Editing Features)


    .

    .

    .

    반응형

    'PC > SW' 카테고리의 다른 글

    Domino midi Editor(미디 편집기) 간단한 사용법(재생관련)  (0) 2024.02.20
    COMMENT
     
    01
    11

    test1.txt 파일을 불러와


    내용을 그대로 test2.txt 파일로 출력하는 코드입니다.


    int 형으로 한문자 한문자 입력을 받아 putc() 함수를 사용하여 그대로 새 텍스트파일에 출력을 합니다.



    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    #include<stdio.h>
     
    int main(void)
    {
     
        FILE *fp;
        // 입력받을 파일과 출력할 파일의 정보를 저장할 변수를 생성
     
     
        fp = fopen("file.txt""r");
        // in 변수에 파일 정보(이름, 방식)를 저장한다.
        // "r"는 read의 약자로 읽기 전용으로 불러온다는 뜻.
     
     
        int c;
        // 입력받을 문자를 저장할 임시 변수를 생성
     
     
        while ((c = getc(fp)) != EOF) {
            putchar(c);
        }
        // 반복문을 사용하여 file.txt의 문자를 하나하나 불러와
        // putchar() 함수를 사용하여 그대로 콘솔창에 출력한다.
        // 물론 띄어쓰기와 줄바꿈도 그대로(ASCII) 읽어들이게 된다.
     
     
        fclose(fp);
        // 파일을 닫지 않으면 메모리에 파일정보가 남아
        // 메모리를 불필요하게 차지하게 된다.
     
        return 0;
    }
    cs


    다음과 같은 결과를 출력한다.



    반응형
    COMMENT
     
    01
    11

    test1.txt 파일을 불러와


    내용을 그대로 test2.txt 파일로 출력하는 코드입니다.


    int 형으로 한문자 한문자 입력을 받아 putc() 함수를 사용하여 그대로 새 텍스트파일에 출력을 합니다.


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    #include<stdio.h>
     
    int main(void)
    {
     
        FILE *in, *out;
        // 입력받을 파일과 출력할 파일의 정보를 저장할 변수를 생성
     
     
        in = fopen("test1.txt""r"); 
        out = fopen("test2.txt""w"); 
        // in 변수에 파일 정보(이름, 방식)를 저장한다.
        // "r"는 read의 약자로 읽기 전용으로 불러온다는 뜻.
        // "w"는 write의 약자로 쓰기 전용으로 불러온다는 뜻.
     
     
        int c;
        // 입력받을 문자를 저장할 임시 변수를 생성
     
     
        while ((c = getc(in)) != EOF)
        { 
            putc(c, out);
        }
        // 반복문을 사용하여 test1.txt의 문자를 하나하나 불러와
        // putc() 함수를 사용하여 그대로 test2.txt에 출력한다.
        // 물론 띄어쓰기와 줄바꿈도 그대로(ASCII) 읽어들이게 된다.
     
     
        fclose(in); fclose(out);
        // 파일을 닫지 않으면 메모리에 파일정보가 남아
        // 메모리를 불필요하게 차지하게 된다.
     
        return 0;
    }
    cs



    반응형
    COMMENT
     
    01
    11

    콘솔 창에서 W, A, S, D 키로 커서 움직이기 연습.


    system("cls");



    명령을 사용하여 이동을 할 떄마다 화면이 새로고침되므로 딜레이가 심하여 좋은 코드는 아니다.


    메모용으로 저장


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    #include<stdio.h>
    #include<Windows.h> //system("cls");
    #include<conio.h> //getch();
    #define WID 50
    #define HEI 20
    int x=WID/2;
    int y=HEI/2;
     
    void mov(int key);
    void drw(void);
     
    void mov(int key) {
        if (key == 87 || key == 119) {
            if (y>0) {y--; drw(); }
        }
        if (key == 65 || key == 97) {
            if (x>0) {x--; drw(); }
        }
        if (key == 83 || key == 115) {
            if (y<HEI-1) {y++; drw(); }
        }
        if (key == 68 || key == 100) {
            if (x<WID-1) {x++; drw(); }
        }
    }
     
    void drw(void) {
        system("cls");
        for (int yn = 0; yn < HEI; yn++) {
            for (int xn = 0; xn < WID; xn++) {
                if (xn != x || yn != y) printf("┼");
                else printf("■");
            }
            printf("\n");
        }
    }
     
    int main() {
        drw();
        while (1) {
            mov(_getch());
        }
        return 0;
    }
     
    cs


    반응형
    COMMENT
     
    01
    03

    다음과 같이 '윈도우 캡쳐'에서 크롬창을 선택했을 경우, 미리보기 및 실제 화면에 검정화면만 뜨는 오류의 해결법입니다.



    크롬 우측 상단의 메뉴를 눌러 설정에 들어갑니다



    페이지 하단까지 내려가면 고급(더 많은 설정 보기) 버튼이 있습니다.



    시스템 탭에서 위 항목의 체크를 해제 해 주신 후 크롬을 재시작합니다.



    다음과 같이 정상적으로 표시된 것을 알 수 있습니다.


    반응형
    COMMENT