이전 포스팅에서는 ML-Agents 관련 스트립트를 작성하였고 프로젝트를 완성해보겠습니다. * 이 포스팅의 내용은 유니티에 대한 어느정도의 지식이 있다고 가정하여 작성하였습니다. 2. 프로젝트에 오브젝트 배치하기 화면에 임의의 오브젝트를 아래 스크린샷 같이 배치합니다. 타겟과 바닥 그리고 벽을 Sprite Renderer로 생성하여 배치해줍니다. 이후 임의의 Agent로 사용할 임의의 빈 오브젝트를 생성하고 작성한 MoveToTargetAgent 스크립트를 추가해줍니다. 그럼 Behavior Parameters와 Desicion Requester 스크립트도 자동으로 같이 추가됩니다. 또한 타겟과 충돌 체크에 필요한 Collider와 Rigidbody를 추가하여 줍니다. * 벽으로 사용할 Sprite Re..
전체 글
QA Engineer Coding Blog!! QA이지만 자동화와 개발에 관심이 많고 업무에 접목하고 싶어하는 평범한 QA 입니다.이전 포스팅에서는 ML-Agents 설치 및 세팅을 진행하였고 이제 간단한 Move To Target 프로젝트를 제작해보겠습니다. 1. Agent 스크립트 만들기 프로젝트 안에 Agent용으로 사용할 임의의 스크립트 파일을 1개 생성합니다. (예 : MoveToTargetAgent) 그리고 해당 클래스의 상속 받는 클래스를 MonoBehaviour에서 Agent로 변경하고 목표로할 대상의 Transform 하나를 선언해줍니다. 실패와 성공을 표시해주는 바닥의 SpriteRenderer 도 하나 선언해줍니다. using UnityEngine; using Unity.MLAgents; using Unity.MLAgents.Actuators; using Unity.MLAgents.Sensors; public c..
1. Python 설치 우선 파이썬을 설치해야 합니다. 아래 링크에서 파이썬을 설치합니다. 버전은 3.9.13을 설치합니다. https://www.python.org/downloads/release/python-3913/ Python Release Python 3.9.13 The official home of the Python Programming Language www.python.org 2. Python venv — 가상 환경 생성 해당 기능을 사용하면 기본 Python 환경의 패키지와 분리되어 개발 할 수 있고 실행되는 가상 환경에서 명시적으로 설치된 패키지만 사용할 수 있습니다. 아래 링크에서 자세한 설명을 확인 할 수 있습니다. https://docs.python.org/3/library/ve..
PROJECT - ANT Project Ant는 기존에 개인적으로 WPF로 개발했던 Project ALPACA를 Windows Form으로 컨버팅한 프로그램입니다. 제작 툴 : SharpDevelop 5.1 사용 언어 : C# (NetFramework 4.5) 개발 환경 : SharpDevelop 5.1 핵심 기능 : apk 파일 정보 확인, ipa 정보 확인, 정책 적용 확인, 앱 파일DIFF [링크] Project ALPACA PROJECT - A (ALPACA) - apk, ipa 정보 확인 툴 PROJECT - A (ALPACA) 이전 회사에서 근무할때 먼저 입사한 리더님의 권유로 만들게 된 툴 입니다. 테스트할때 사용할 수 있는 툴을 외부에만 의존해야하는 말도안되는 현실이 원동력이 되어 만들게 ..
게임밴치 처럼 성능을 측정하는 툴을 만들어 보면 어떨까해서 한번 만들어 봤습니다. pyside2로는 툴을 처음 구현해봤기 때문에 해당 GUI Control을 접근하고 다루는게 낯설어 생각 보다 시간이 많이 걸렸습니다. 굳이 파이썬으로 툴을 구현한 이유는 회사에서 사용할 수 있는 무료 컴파일러를 통해 제작할 수 있고 슬랙이랑도 연동도 가능해서 입니다. 또한 많은 라이브러리가 있기 때문에 추후 확장 가능성도 존재해서 선택해봤습니다. 제작 툴 : VisualStudio Code 제작 환경 : Python 핵심 기능 : AOS 디바이스 성능 측정, IOS 디바이스 성능 측정(구현 중) 특정 시간(1초)에 한번씩 CPU와 메모리를 측정하고 그래프로 그려주고 만약 병목현상(특정 값 이상이나 최고 수치 갱신)일 경우..
[C#] 리플렉션 - Reflection 리플렉션은 어셈블리, 모듈 및 형식을 설명하는 개체(Type 형식)를 제공합니다. 리플렉션을 사용하면 동적으로 형식 인스턴스를 만들거나, 형식을 기존 개체에 바인딩하거나, 기존 개체에서 형식을 가져와 해당 메서드를 호출하거나, 필드 및 속성에 액세스할 수 있습니다. 코드에서 특성을 사용하는 경우 리플렉션은 특성에 대한 액세스를 제공합니다. [MSDN] 최근에 툴을 만들다가 꼭 필요한 기능에 대해서 떠올리다가 언제인가 오래전에 C# 책에서 봤던 Reflection 개념이 떠올라 사용하여 한번 작성해 보고 싶었습니다. 처음에 Reflection을 공부할때 이걸 그래서 어디다가 쓰지? 라는 생각을 많이 하였는데 막상 쓸때가 오기는 오더라구요. 사용법은 여러가지가 있는데..
LinkedIn에 가입하고 틈틈히 기술 평가 시험을 보고 있습니다. 유니티, C#, Python은 통과..C++은 아쉽게도 탈락.. 다음 기회에... 문제가 영어로 나와서 몇몇개는 찍을 수 밖에 없었다..코드로 말한다지만...문제나 보기가 영어인건 어쩔수가 없는듯.. C#의 경우 최근까지 많이 다루어 봤지만 너무 쉬운 툴만 만들다보니 Task 병행처리나 동기화 등 고급 문법을 거의 까먹어서인지 턱걸이로...그래서 최근에 C#을 출퇴근 시간에 공부하고 있다. 내 실력이 궁금하다면 어느정도 평가를 보면서 언어의 이해 평가를 받아보는것도 좋은거 같다.. 트로피 수집욕구 +_+!
Python에도 여느 언어와 마찬가지로 여러가지 변수를 사용할 수 있습니다. 특이하게도 명시적으로 형식을 지정하지 않아도 되는데요.. (Lua와 동일하네요..) #변수 intValue = 10 #정수 [INT형] floatVlaue = 1.0 #소수 [FLOAT형] stringValue = 'hello' #문자 & 문자열 [STRING 형] boolvalue = False #Boolean 형식 [BOOL 형] 아무래도 다른 언어에서 적응했던 분이라면 조금 당황하실수도 있지만 보이지 않은 뭔가가 있다고 생각하면 편할 것 같습니다. (C#의 var 또는 C++의 auto 정도로 생각하면 될 듯?) 별도의 형식을 지정하지 않아도 출력이나 더하기 등 기본적인 연산도 가능합니다. 다른 언어의 문법인 ' ; ' 표..