비주얼스튜디오가 깔려있지 않은 컴퓨터에서 C++의 릴리즈 파일(exe)을 실행하면 오류가 생긴다.. 

코난팡 플레이해보라고 다른 코난덕후 언니한테 보내줬더니.. 실행이 안된다고 그래서 알았다.........

 

 

그래서 테스트를 위해서,, 컴에 가상머신 설치하고 돌렸는데 MSVCP140.dll , VCRUNTIME140.dll 이 없다는 오류가 떳다.

 

검색을 해봐도 마소 홈피에서 이것저것 깔라는 이야기만 있지,

처음 빌드할 때부터 방법은 없는건가..? 하고 손놓고 있다가 조금 전 찾아보니 바로 나온다..

 

 

In visual studio, go to Project tab -> properties - > configuration properties -> C/C++ -> Code Generation on runtime library choose /MTd for debug mode and /MT for release mode.

 

 

너무나 간단쓰..

 

 

이걸로 코난팡 빌드파일을 올릴 수 있게 되었다!!

 

https://github.com/Song-In-Love/pinaeongs-portfolios/tree/master/hardcarryConan

Posted by 파인애옹
,

Player에 1타 (attack1) → 2타 (attack2) ↔ 3타 (attack3)을 왔다갔다 하는 애니메이터를 만들어 적용시켰다.

 

2타와 3타를 왔다갔다 하는 것은, attackCount의 숫자가 짝수인지 홀수인지로 구분짓고,

해당하는 경우에 Trigger를 주어 작동하게 하였다.

 

 

그런데 말입니다.

 

정상적으로 애니메이션은 작동은 하는데 자꾸 

'Player' AnimationEvent 'SendEvent' on animation 'attack1' has no receiver! Are you missing a component?

라고 뻘건 (!) 오류메세지가 나오는 것이다.

 

그리고 짧은 영어로 열심히 구글링 구글링 끝에 내가 알아낸 사실은, 다음과 같다.

 

 

 

1타, 2타, 3타, 그리고 Idle 모션이 자연스러워 보이게 하기 위해서,

트렌젝션에서 모션 타이밍 등을 좀 만졌었다. 그리고 트리거의 발생으로 해당 모션이 나오게 했었던 것.

바로 이 부분을 조정하며 애니메이션이 자연스러운 모션으로 보이게 했다.

그런데 이 과정에서,, 애니메이션 클립 안에 이벤트 같은 게 삽입이 되었나보다.

 

이 글을 보고 혹시나 했는데.. 역시나였어..

 

 

 

 

 

 

애니메이션 클립의 애니메이션 편집 부분을 들어가보니

 

저기 저 포개지는 부분이 시작되는 시작 타이밍으로 보이는 곳에

이벤트가 생성되어 있었다..  저 흰색 막대기를 눌러보니

 

이렇게 이벤트 설정창이 나오고.. 아마 이게 비어있다는 뜻이었던 것 같다.

 

 

뭐, 사운드라든지,, 아직 그런 이벤트를 줄 마음은 시간과 능력상 없기 때문에,  애니메이션 편집 창에서 흰색 막대를 지웠고.. 오류가 사라졌다.

 

세상 편 ㅡ 안.

 

이렇게 본의 아니게 애니메이션 관련 기능을 하나 알아내버렸다.. 

막상 적용 할 때 되면 다시 공부해야겠지만..

 

 

 

'Study' 카테고리의 다른 글

[ C++ , Visual Studio ] Release 설정  (0) 2020.04.23
[ Unity 3D ] GameObject 기본 Component 구조  (0) 2019.12.23
그래프이론.. BFS / DFS  (0) 2019.12.22
cocos2d-x 폰트 적용이 안될 때..  (0) 2019.11.20
Posted by 파인애옹
,

Transform 

 - 위치, 회전정보, 사이즈 등의 정보를 담고있다.

 

Mesh Filter

Mesh Renderer

눈에 보이는 형태.. 를 보여주는 것.

 

Material

셰이더와, 셰이더에게 필요한 파라메터가 있음(텍스쳐가틍거)

 

Rigidbody

동적인 물체들의 충돌처리를 위한 질량이나 충돌에 필요한 데이터를 담고 있고, 동적인 얘라는 걸 알려주는 컴포넌트.

 

Mesh Collider / cube,, 등등..

충돌하는 형태

 

 

Script

 

 

 

Collider에서 충돌이 일어나면,

다른 component들한테 "으앙 충돌이야아아" 하고  연락을 한다.

script는 OnCollision(collision 사건)을 받아서 처리한다.

collision 안에는 (사건. 을 해보면 내부 구성요소가 나옴) 

충돌체, 충돌위치, 등등의 정보가 들어가 있다.

 

Posted by 파인애옹
,

그래프이론.. BFS / DFS

Study 2019. 12. 22. 18:54

오늘 공부한걸 대략 정리해본다.. 

한달 프로젝트 할때 다른 친구들 다 하던 A*를 안해서... ㅠㅜ

안하고 그냥 누가 만든거 갖다가 쓰면 된다 하지만, 기본적인 개념은 짚고 가야 하기 때문에..........

 

----------

 

 

 

내가 생각한 그래프이론의 그래프들..

하지만 실제로 그래프 이론에서 다루는 그래프는 이렇게 생겼다..

 

노드(Node, 그림에서 숫자로 되어있는 것. 점)와 노드를 선(Edge)으로 이은 관계에 관한

 것이다..

그림에 있는 것처럼 방향성이 없는 것이 존재하고, 방향성이 있을 수도 있다.

방향이 양방향으로 되어 있으면 '순환구조'가 되는데 무한루프에 빠질 수도 있다..

 

그래프 안의 노드를 탐색(Search) 하는 방법들이 BFS, DFS 다.

BFS : Breadth-First Search

DFS : Depth First Search

 

어느 한 지점에서, 다른 지점으로 갈 때의 방법에는

1) 한 단계씩 가본다. --- BFS

2) 모든 길을 한번씩 가본다. ----DFS

 

 

다르게 말하면. BFS는 한단계식 다음차례로 나아가며 해당 노드의 문제를 해결(어느길로 갈 것인지 결정)하기 때문에,

선입선출, Queue라고 할 수 있다.  그리고 DFS는 뒤에 있는 문제들이 하나가 해결되면 앞의 문제를 해결하는 형식이라 후입선출, Stack에 가깝다.

 

 

 

 

 

 

 

 

 

만약 K에서 L로 빠져나가지 못하면 H-I-K는 뱅뱅도는 순환구조 상태..  

PPT로 1분만에 그린 그림이지만.... 예를들어,, 저 그래프(방향성이 있는) 에서 A에서 G까지 가는 길을 찾는다! 할때... 텍스트로 설명할라니 이상하지만,

 

BFS는 A-B-H-F-C-I-L-J-D-K-I-G.. 

(A에서 B로가면, A의 문제는 해결. B에서 H, F, C로 가면서 B의 문제는 해결. 다음 H, F, C가 각각 길을 찾는 형식..)

 

DFS는 A-B-H-I-K-H-I... /// A-B-H-I-K-L-J-K... /// A-B-C-D-G..

(A에서 B, B에서 C, F, H 중의 하나를 택하고, 우선 C로 결정한다면, C의 갈길을 끝까지 가본다. D에서는 E로 가고, G를 간다. 일단 이렇게 루트가 하나 생성되면 다시 거꾸로 갈림길이 있던 이전의 D로가서 G로 간다. )

 

 

 

 

 

 

 

이건 단순히 물리적 거리만 계산 할 때 최단거리를 계산할 수 있지만.. (효용)

A에서 B까지 이동하는 이동거리에 '비용'이 추가가 된다면 얘기는 달라진다. 

 

Edge에 비용이 없다면, A에서 G까지의 최단길은 A-B-C-D-G가 당연하지만.

 

위와 같이 비용이 추가가 된다면, A-B-C-D-G의 길은 총 10+5+5+40,  A-B-C-D-E-G는 10+5+5+10의 비용이 발생한다.

만약 마이너스의 비용이 있다면 (예를들어 지름길로 안가고 먼길로 돌아가는데 돈을 주웠다!) 얘기는 또 달라지게 된다..

 

 

같은 목적지에 도달하기까지의 여러 방법 중에서 제일 비용이 많이 들어가는 것부터 제거 해나가다보면

제일 저렴한 비용의 길을 찾을 수 있게 된다.

 

 

비용과 효용.. 어느 것을 중요하게 생각하게 생각하냐에 따라 길이 바뀐다..

 

 

 

 

 

Posted by 파인애옹
,

수업때.. 폰트 적용이 안되서.. 막 구글링 해서 찾았다.

영어 극켬! 하는 나지만.. 프로그래밍 하면서 영어로 how to use ... 류의 검색을 많이했더니.. 이젠 좀 익숙해졌다..

구글링 최고ㅡ!

 

 

How can i add custom fonts in cocos2d-x

To add custom fonts in cocos2d-x i followed the following steps. Download a font. paste it in resource file of my project without any subfolder. Add my font in info.plist in Fonts provided by

stackoverflow.com

 

1) 폰트 파일을 경로에 잘 집어넣는다.

2) 폰트 파일명과 폰트명을 일치시킨다.

 

그러니까 됐다.. .크흡..

 

//컴퓨터에 등록된 폰트 사용할 때 -  폰트 이름 만
    auto label1 = CCLabelTTF::create("SLEEPY PINAEONG", "Courier", 24);
   
//컴퓨터에 등록되지 않은 폰트 파일을 사용할 때
//폰트 이름과 파일명을 일치시키고 경로-확장자 사용
	auto label2 = CCLabelTTF::create("Hello World", "fonts/A Damn Mess.ttf", 24);
	auto label3 = CCLabelTTF::create("abdabcd1234", "fonts/Felt Regular.ttf", 50);

	label1->setPosition(WINSIZEX / 2, 350);
	label2->setPosition(WINSIZEX / 2, 250);
	label3->setPosition(WINSIZEX / 2, 150);

	label2->setColor(ccc3(255, 30, 30));

	this->addChild(label1);
	this->addChild(label2);
	this->addChild(label3);

< 폰트 파일 경로 >

프로젝트 폴더 \Resources\fonts

 

 

< 폰트 이름 확인 >

폰트파일 선택 - 마우스 우클릭 - 속성 - 자세히

 

Posted by 파인애옹
,