본문 바로가기

Python99

Python 6장 [연산자, Fstring, format] ▣ + : 더하기 ▣ - : 빼기 ▣ * : 곱하기 ▣ / : 나누기(값 실수형) ▣ // : 나누기(값 정수형) ▣ % : 나눈 나머지 ▣ ** : 제곱 ▣ f" " : f- string 포매팅, 파이썬 3.6 버전부터 나온 기능 ▣ f" {}" : f옆에 "" 큰따옴표나 '' 작은따옴표로 포맷 지정 {} 안에는 출력할 변수를 넣어 출력 ▣ f"{: 2023. 7. 12.
Python 5장 [형변환] ▣ len() : 문자에 길이는 구하는 함수, int형으로 숫자 반환 ▣ type() : 데이터타입을 반환하는 함수 ▣ input()으로 입력, 기본 타입 str ▣ 데이터타입을 바꾸는 걸 캐스팅이라고 한다. ▣ int() : int형으로 타입을 변환하는 함수 ▣ float() : float형으로 타입을 변환하는 함수 ▣ str() : str형으로 타입을 변환하는 함수 ▣ print(CountStr + "개") : 문자 + 문자 = 문자 ▣ 숫자를 문자로 변환 가능 ▣ 변수 1 + 변수 2 : 변수 1에 값 + 변수 2에 값을 더한 값 2023. 7. 12.
Python 4장 [슬라이싱] ▣ [start:end:step] : 슬라이싱 ▣ [1:3] : 1~2 ▣ [0:] : 0~end ▣ [:4] : 처음부터~3 ▣ [0:6:2] : 0~5까지이고 2 step, 0,2,4 ▣ 리스트, 튜플, 문자열 모두 슬라이싱 가능 2023. 7. 12.
Python 3장 [입력] ▣ input() : 입력함수 ▣ name = input() : 입력한 값을 name에 대입 저장 ▣ print(name) : 변수 값 출력 ▣ print("안녕 " + input()) : 입력 후, 입력한 문자와 안녕을 더한 후 출력 ▣ input() 함수를 여러 개 사용하여 입력 가능 ▣ 한 줄에서 동시에 입력 방법 : 변수 1, 변수 2 = input().split() ▣ split("@") : 함수에 매개변수 안에 문자열로 나누어 주는 함수, "@"를 넣을 경우 예시) son@코딩박사 이런 식으로 각각 입력 ▣ split() : 매개변수에 아무것도 넣지 않을 경우 띄어쓰기로 구분 2023. 7. 12.
Python 2장 [변수, 데이터타입] ▣ 변수 : 데이터를 저장하는 공간, 메모리 ▣ 변수를 만드는 방법 : 이름 = 데이터 ▣ 변수이름은 의도에 맞게 소문자로 ▣ 변수에 데이터타입(자료형)을 확인하는 함수 : type() ▣ int : 정수 ▣ float : 실수 ▣ str : 문자열 ▣ bool : 불리언 ▣ list : 리스트 ▣ dict : 딕셔너리 ▣ 변수이름 자체는 그 안에 들어 있는 값을 의미 ▣ 변수 안에 들어 있는 값 출력 방법 : print(변수이름) 2023. 7. 12.
Python 1장 [문자 출력] ▣ print() : 출력함수 ▣ "Hello Python" : " ", ' ' 있으면 문자열로 인식 ▣ "Hello" + "Python" == HelloPython 합쳐진 문자 출력 ▣ "Py" * 3 == PyPyPy숫자만큼 문자 출력 ▣ end="" : 문자 끝에 어떤 문자를 넣을지 큰따옴표 안에 넣어야 한다. 기본값은 \n ▣ print("Hello Python ", end="") : , 콤마를 이용하여 꼭 구분해줘야 한다. ▣ sep= "": 문자객체 사이에 문자를 지정, 기본값은 띄어쓰기 ▣ \n : 줄 바꿈, 이스케이프 문자 2023. 7. 11.
언리얼엔진5 66장 [C++ 회전] ▣ .h 헤더파일에서 FRotator 선언, 어느 방향으로 회전할지를 지정하기 위한 변수 ▣ FRotator : F는 블루프린트를 의미, Rotator는 회전값 https://docs.unrealengine.com/4.26/en-US/API/Runtime/Core/Math/FRotator/ FRotator Implements a container for rotation information. All rotation values are stored in degrees. docs.unrealengine.com ▣ AddActorLocalRotation() : 로컬회전값을 기준으로 회전, 괄호 안에 회전할 FRotator값 * DeltaTime https://docs.unrealengine.com/4.26/e.. 2023. 6. 23.
언리얼엔진5 65장 [C++ 함수] ▣ .h 헤더파일에서 void Moveing() const로 함수 선언 ▣ 함수 선언 방법 : void(반환형) Moveing(함수이름) (매개변수) const 정적설정, 순으로 선언 ▣ 함수 끝에 const를 붙이면 함수 안에서 값 수정 불가 ▣ ATestActor : A는 엑터를 의미 ▣ ::는 멤버함수로 정의하기 위함 ▣ BeginPlay() 함수 안에 Moveing(); 함수 호출 ▣ 컴파일 저장 후 확인 2023. 6. 23.
언리얼엔진5 64장 [C++ 출력로그] ▣ UE_LOG(로그유형, 로그 수준, 출력해야 할 텍스트) : 로그출력 함수 ▣ UE_LOG(LogTemp, Display, TEXT("%f"), 변수); : 이런 식으로 변수도 출력가능 ▣ 컴파일 저장 후 Content Drawer옆에 Output Log 클릭하면 확인 ▣ Display, Error, Warning : 같이 각각 경고 문구 색이 다르다. https://docs.unrealengine.com/5.0/en-US/API/Plugins/NeuralNetworkInference/UE_LOG/1/ UE_LOG docs.unrealengine.com ▣ FString : 스트링 클래스 ▣ TEXT("Name : %s"), *name) : *name는 포인터로 접근한다고 생각하시고 붙이시면 됩니다... 2023. 6. 23.
언리얼엔진5 63장 [C++ 블루프린트 생성 및 매쉬생성] ▣ C++ 클래스에서 오른쪽마우스를 클릭 -> Create Blueprint 선택하여 블루프린트로 생성 ▣ 이름 및 저장 위치 지정 후 생성 ▣ 블루프린트에서 Viewport에 내가 원하는 Mesh를 드래그하여 지정 ▣ 원이 엑터의 중심축입니다. 중심축을 맞춰서 매쉬를 배치 후 디테일탭에 값 조절 후 컴파일 ▣ 완성한 블루프린트를 두 개를 놓고 각각 다른 값을 적용한 다음에 플레이 2023. 6. 22.
언리얼엔진5 62장 [C++ 오브젝트좌우이동] ▣ GetSafeNormal() : 벡터의 값을 정규화, 예로 복잡한 벡터값은 필요 없기 때문에 우리 방향을 지정하기 위해 값을 1, -1, 0 이런 식으로 정규화 ▣ 이동거리보다 크면 이동한 위치가 시작위치로 변경돼야 하기 때문에 정규화를 곱하여 StartLocation에 더해서 대입 ▣ BoxVeloctiy = -BoxVeloctiy : 변수에 -변수를 대입하면 -변수로 되고 -변수에 -변수를 대입하면 +가 된다. https://docs.unrealengine.com/4.26/en-US/API/Runtime/Core/Math/FVector/GetSafeNormal/ FVector::GetSafeNormal Gets a normalized copy of the vector, checking it is .. 2023. 6. 22.
언리얼엔진5 61장 [C++ 벡터사이 거리 Distance, VisibleAnywhere] ▣ UPROPERTY(VisibleAnywhere) : 편집할 수 없고 에디터에서 데이터를 보기만 하게 하는 기능 ▣ DistanceNumber = FVector::Distance(StartLocation, CurrentLocation); : 벡터 1과 벡터 2 사이의 거리를 반환하는 함수 ▣ FVector::Dist(StartLocation, CurrentLocation) : 벡터 1과 벡터 2 사이의 거리를 반환하는 함수 위에 함수와 동일 ▣ :: 콜론 두 개는 범위지정 연산자, 클래스에 접근 ▣ 컴파일 저장 후 확인 2023. 6. 21.
언리얼엔진5 60장 [C++ DetaTime, 플랫폼지정] ▣ UPROPERTY(EditAnywhere, Category = "Player Moving") : Category 플랫폼 이름 추가 ▣ FVector에 값을 + 더하기 하여 위치 변경가능 ▣ DetaTime : 마지막 프레임 업데이트 이후 경과된 시간, 다시 말해서 각 렌더링 프레임 사이의 시간 ▣ DetaTime을 곱해야지 컴퓨터 사양별로 다르게 보이는 게 아닌 프레임을 맞춰서 작동 ▣ 컴파일 저장 후 플랫폼 추가 및 이동 확인 https://www.parallelcube.com/2017/10/25/why-do-we-need-to-use-delta-time/ Why do we need to use Delta Time? – Parallelcube You’ve probably seen an old gam.. 2023. 6. 20.
유니티 - [충돌시 tag 변경] ▣ gameObject.tag = "Hit" , collision.gameObject.tag = "Hit" ▣ 충돌 시 나의 tag 뿐만 아니라 상대방에 tag도 변경가능 2023. 6. 20.
유니티 - [GetComponent 비활성화] ▣ GetComponent().enabled = false; ▣ GetComponent().useGravity = false; 로 해당 컴포넌트 비활성화 ▣ MeshRenderer m_renderer, Rigidbody rb : 참조 캐싱, 원하는 기능을 메모리에 저장해서 사용 ▣.으로 접근하여 해당 컴포넌트에 다양한 기능 사용가능 2023. 6. 20.
유니티 - [Time] ▣ Time.time : 프로젝트 재생 시작 후 경과한 시간 초 단위로 반환합니다. ▣ Time.detaTime : 마지막 프레임이 완료된 후 경과한 시간을 초 단위로 반환합니다. 이 값은 게임이나 앱이 실행될 때 초당 프레임(FPS) 속도에 따라 다릅니다. https://docs.unity3d.com/kr/2021.3/Manual/TimeFrameManagement.html 중요 클래스 - Time - Unity 매뉴얼 Unity의 Time 클래스가 제공하는 중요한 기본 프로퍼티를 사용하여 프로젝트에서 시간과 관련된 값으로 작업할 수 있습니다. docs.unity3d.com 2023. 6. 20.
유니티 - [오브젝트 색 변경] ▣ GetComponent().material.color = Color.red; 로 Mesh Renderer컴포넌트에 Material를 접근하여 색 변경, Color. 로 접근하게 되면 여러 색으로 변경 가능 ▣ 컴파일 저장후 플레이버튼을 누르고 닿게 되면 색 변경 2023. 6. 20.
언리얼엔진5 58장 [C++ Tick함수] ▣ Tick : 액터나 컴포넌트에 일정 간격, 한 프레임에 한 번 코드 또는 블루프린트 스크립트를 실행시키는 것 ▣ MyVector.Z +=1을 하여 프레임마다 Z값이 1씩 증가하고 SetActorLocation(MyVector)으로 넣어주어 Z값이 계속 바뀌는 코드 https://docs.unrealengine.com/4.27/ko/ProgrammingAndScripting/ProgrammingWithCPP/UnrealArchitecture/Actors/Ticking/ 액터 틱 매 프레임 액터를 업데이트하는 데 사용되는 Tick, 틱 시스템에 대한 설명입니다. docs.unrealengine.com ▣ 컴파일 후 시작버튼을 클릭하면 MyVector.Z에 값이 1씩 증가하면서 매프레임마다 큐브에 Z위치가.. 2023. 6. 16.
언리얼엔진5 57장 [C++ 엑터위치함수] ▣ SetActorLocation() : 엑터의 위치는 변경하는 함수, 매개변수 안에 FVector에 값을 넣어야 한다. ▣ +Add 버튼을 클릭하고 컴포넌트 추가 및 모양 추가도 가능 ▣ 컴파일 후 시작버튼을 클릭하면 지정한 Location으로 위치 이동 ▣ 매개변수에 FVector 변수로도 지정 가능 ▣ 컴파일 후 시작하면 MyVector 위치로 이동 2023. 6. 16.
언리얼엔진5 56장 [C++ Vector] ▣ FVector : 자료형이름 앞에 F가 붙으면 블루프린트를 의미, 블루프린트 Vector자료형, 블루프린트 Vector데이터타입 ▣ FVector 초기화 방법 : Fvector 변수이름 = FVector(x, y, z) ▣ ATestActor : 자료형이름에 A가 앞에 붙으면 엑터를 의미 ▣ FVector : FVector에 x, y, z 값 각각 접근하여 대입 가능 ▣ 레벨에 배치 후 컴파일 ▣ 컴파일 완료 후 C++엑터를 확인하면 Vector와 변수 생성 확인 ▣ 플레이를 클릭하고 확인하면 num 변수에 대입 확인 2023. 6. 16.
언리얼엔진5 54장 [C++ Class, uproperty] ▣ 생성한 C++ Class를 확인하고 더블클릭하여 실행 ▣ .h 헤더파일을 클릭하여 UPROPERTY(EditAnywhere) : 에디터에서 접근가능하게 하는 코드 int32 MyInt = 10; float MyFloat = 3.14; bool MyBool = true; 변수 정의 ▣ CTRL + S 키를 눌러 저장 ▣ 언리얼 에디터에서 컴파일 및 리로드 버튼 클릭 ▣ 이런 식으로 Live coding succeeded 나오면 완료 ▣ 만약 실패할 경우 3가지 확인 ▣ 비주얼스튜디오 저장 경로에 한글이 있는지 확인 ▣ 프로젝트 위치가 한글이 있는지 확인 ▣ 코드에 오타가 있는지 확인 2023. 6. 14.