Post

반응형

VirtualBox에서 Window10을 사용하려고 했는데

'No bootable medium found' 라는 에러가 났다.

찾아보니 VirtualBox를 사용할 때 다른 컴퓨터에 설치하는 것처럼 설치 ISO가 필요하다는것을 알아냈다.

Window10 ISO 도구 URL

https://www.microsoft.com/ko-kr/software-download/windows10



실행만하면 ISO가 만들어진다.





그리고 만들어진 가상 운영체제의 설정을 눌러서 저장소-CD클릭-광학드라이브 옆에 CD클릭

Win10 iso를 클릭해주면 된다.

Win10 사이즈는 반드시 10기가 이상이어야 한다.. 

적게 잡으니까 최소 여유공간이 없다고 설치가 안됨..

반응형

Post

반응형

Canvas 위에 있는 Sprite를 Raycast로 충돌 체크했다.

하지만 Sprite에 Circle Collider 2D가 있음에도 RayCast 체크가 되지 않았다.

찾아보니 레이캐스트를 눈으로 보이게 그릴 수 있었다.


Debug.DrawRay(ray.origin, ray.direction * 10f, Color.red, 5);


그려서 확인해보니 Ray와 내가 클릭 한 곳이 x좌표로 200정도 떨어져 있었다.

바라보는 화면과 실제 그리는 곳이 맞지 않는 것 같아 카메라를 x좌표로 200 옮겼다.

그러니까 클릭이 잘 되었다.


원래 이런적이 없었는데.. 

Sprite가 실행중에 생성되어서 위치 초기화가 제대로 안된건가 싶기도 하고?

(그래도 transform 0, 0, 0  으로 맞추고 앵커도 캔버스에 맞게 설정했는데ㅠㅠ)

아직 뭐 때문에 그런지는 모르겠다. 잘 해결된건지도 ...@_@

반응형

Post

반응형

앵커는 UI가 Canvas 내에서 기준이 되는 위치를 설정하는 것이다.

예를 들어 중앙으로 잡고 싶다면 Rect Transform Anchor를 middle, center 로 설정한다.

그러면 캔버스 중앙이 0, 0 위치를 가지게 된다. 


 


왼쪽 상단을 0, 0으로 잡고 싶다면 Top, Left로 설정하면 된다.

 


또 앵커는 앵커 위치와 UI의 위치를 고정시킬 수 있다.

만약 왼쪽 상단에 앵커가 있을 때, 화면 해상도가 바뀌더라도 앵커와 UI의 간격은 변하지 않는다.

앵커로 고정하지 않았기 때문이다.

만약 앵커가 없었다면 화면 해상도에 따라 UI의 위치가 바뀐다.



반응형

Post

반응형

20개의 패킷을 40명에게 전달할 때 서버는 어느정도 시간이 걸릴까?
위 상황을 테스트 하기가 어려워서(더미클라도 없고.. 혼자서 40개 클라는 못킨다ㅇ<-<) 소스코드로 알아보려고 수정하였다.
for(int i = 0; i < 20; ++i)
{
for(int j = 0; j < 40; ++i)
{
Packet* p = new Packet();
SendPacket(p);
}
}


그런데 서버->클라 패킷 전달 횟수만 생각하고 패킷 생성 개수는 생각하지 않았다 ㅇ<-<
그래서 20개의 패킷만 생성해야하는데 800개의 패킷을 생성함;;; 시간도 엄청걸리고 기존의도와 완전히 달라짐...

아래처럼 SendPacket에서 40명한테 전달하도록 소스를 수정했다.

for(int i = 0; i < 20; ++i)
{
Packet* p = new Packet();
SendPacket(p);
}




반응형

'etc > life' 카테고리의 다른 글

미국영주권 서류 처리 날짜 확인  (0) 2019.09.22
펀다 1년 투자 후기(추천인 M9MED)  (0) 2019.09.22
2019년 중간정리  (0) 2019.08.19
사진찍기 이색알바 크라우드 웍스  (0) 2019.08.15
2019년 8월 미국영주권  (0) 2019.07.21
2019년 7월 미국 문호  (0) 2019.06.30
2019년 5월 미국 영주권 문호  (0) 2019.04.27
2019년 4월 미국 문호  (0) 2019.03.23

Post

반응형

C3083 왼쪽의 기호는 형식이어야 합니다 에러


아무리 선언되어있는 헤더파일을 INCLUDE해도 'INFO 왼쪽의 기호는 형식이어야 합니다' 에러가 떴다..

찾아보니..... 전방선언에 가려져있었다....


예를들어 namespace PC::INFO::SKILL 클래스를 사용하려고 했다면...

아래처럼 PC namespace가 먼저 전방선언되어있었다...


Attack.h


namespace PC{

class LevelInfo;

}


class Attacak

{

typedef PC::INFO::SKILL SKILL_INFO

}


Skill class를 전방선언하면 해결

사실 PC::INFO::SKILL::SKILL_TYPE 이란 enum을 전방선언으로 가져와쓰고 싶었는데 안된다!!!

namespace PC

{

namepsace INFO

{

class SKILL;

struct SKILL::SKILL_TYPE;

}

}


이렇게 정방선언하고 SKILL_TYPE::ENUM쓰면 .......ENUM 정보가 없으므로 가져오지 못한다...

반응형

Post

반응형

Animation

set as Layer Default State : 처음 시작하는 애니메이션 동작으로 설정

MakeTransition : 이 동작다음에 어떤 동작을 할 것인지 화살표로 설정가능.

Animator 창옆에 변수를 만들고 화살표를 클릭해서 그 변수를 제어할 수도 있다.


2D 충돌 체크

1.Circle Collider 2D 컴포넌트를 스프라이트에 추가

2.스프라이트 스크립트를 만들어서 함수 OnMouseDown 함수를 추가

3.해당 스프라이트를 클릭하면 OnMouseDown 함수 호출


코루틴이란?

유사 쓰레드.

유니티에서 쓰레드를 사용하면 일렬의 흐름(Physic->Input->Update->Render->Physic)을 깨므로 코루틴 사용

ex ) 리턴값을 IEnumerator로 수정, yield return new WaitForSeconds (2.5f);


Invoke란?

특정함수를 몇초 뒤에, 몇초동안 반복하게 만드는 함수



Tag : 인덱싱

Layer: 그림그리는 것을 구분

레이캐스트 : 어떤 곳을 선택했는지 알 수 있다.


Orthographic

앵커 : 기준이 되는 위치를 ui로 정한다.

화면해상도가 바뀌어도 그 자리에 위치한다.


RichText

리치텍스트 체크하면 웹 태그 처럼 가능함.(**외부에서 스크립트로 넣어도 발현됨!!)

<b>Score</b><size=80><color=#ff0000ff>: 9999</color></size>



반응형

Post

반응형

배경만들기

Sprite 사용하는 법 > 그냥 이미지일 경우 Texture Type이 Defualt -> Sprite 로 바꿔준다.

2d스프라이트 자체를 Hierachy에 넣음(2d 오브젝트 밑에 넣을 필요 없음. 그냥 배경이라..)

Inspector에서 Sprite Editor 를 클릭. 초록색 선을 맞춰줌.

=> 스프라이트 늘릴 시 누꺼워지는 현상 방지

=> 또 Draw모드를 Tiled로 하면 자른 스프라이트를 반복적으로 그려진다.


SpriteMode

Single

Multiple : 같은스프라이트를 여러개 붙여놓은 것

Polygon : 본애니 방식


묶을 스프라이트들 SpriteMode 아래 Packing Tag를 하나로 통일한 후

메뉴 Window-Packing Tag 누르고 Pack클릭. 스프라이트들이 하나가 된 것을 확인할 수 있다.


스프라이트 Animation 추가

Animator Component 추가

그리고 Window-WindowAnimator클릭Animation클릭

스프라이트애니메이션 OBJ누르면 Animation창에 Create 버튼이 뜸.클릭해서 생성

생성 후 스프라이트들을 알맞은 시간대에 넣고 플레이 누르면 스프라이트가 움직인다.

(스프라이트 시 스프라이트 패킹할 것!!)

=> 정리


1. 빈 오브젝트를 만든다.

2. 빈 오브젝트에 Animator Component를 추가한다.

3. 그 아래 스프라이트 이미지를 Prepab에서 끌어온다.

4. Window-Animation 창을 보면 Create 란 버튼이 생긴다. 여기서 애니메이션을 만든다.

5. 만든 애니메이션은 Animator Inspector에 Controller에 넣는다.

6. 그리고 스프라이트를 알맞은 시간대에 넣어주면 된다

(Add Property로 위치, 투명도 조절이 가능하다)



화면은

Scale With Screen Size

1920x1050


이미지 폰트 사용하는 법

그냥 Sprite의 Text의 Font 옆에 동그라미를 누르면 폰트를 선택할 수 있다.

이미지 폰트도 선택할 수 있다.



public 대신 [SerializeField] 

=> 에디터에서만 보이고 외부에서는 사용할 수 없음.


LateUpdate란?

유니티 동작 순서

awake->start

physics->imput->update->rander->physics


그런데 Update가 세가지로 나눠진다.

FixedUpdate : 내부적으로 지정된 시간마다 들어옴.

Update : 매 프레임마다 들어옴

LateUpdate : 딴 update보다 나중에 들어옴. ui나 겨로가 보여줄 때 씀.(모든 연산이 다 끝난다음 보여주기 위해)



반응형

Post

반응형

예시로 임의로 작성한 소스코드

< Close.h >
namespace Game
{
namespace Player
{
class GradeInfo;
}
}

namesapce War
{
class Close
{
    typedef Game::Player::GradeInfo GRADE_INFO;
    GRADE_INFO* GetCloseGradeInfo(PC* pc);
}
}

< Close.cpp >
include "../../../Game/Player/GradeInfo.h"
namesapce War
{
GRADE_INFO GetCloseGradeInfo(PC* pc) //<<<<식별자 GRADE_INFO가 정의되어 있지 않습니다. 에러
{

}
}

문제 : Close 헤더파일에서 typedef로 GRADE_INFO를 선언했는데도
GRADE_INFO 정의를 찾지 못했다.
내가 Close 클래스내에서 typedef를 사용했으니
리턴값은 GRADE가 아닌 Close::GRADE_INFO이다.

반응형

Post

반응형

Window-네비게이션 있음

floow 선택 후 Inspector에서 이름옆에 static 아래 표시 거기에 네비게이션 클릭 후

네이게이션 탭에 Bale 에 가서 Bake하면 파란색맵이 된다.

캐릭터엔 Nav Mesh Agent 컴포넌트 추가


Obstancle Avoidance

Radius : 네비게이션 물체 크기

Height : 네비게이션 물체 길이


만약 벽이 있다면

벽과 캐릭터 전부 네비게이션을 추가한다( static 아래 네비 클릭 후 네비창으로 가서 clear-bake )

* 네비게이션 설정 바꿀 때마다 Bake를 해야한다..


총알에 Trail Rendere를 붙인다


파티클 시스템

Hierachy에서 Create - ParticleSystem클릭

생성한 ParticalSystem에 머테리얼을 넣으면 그 이미지로 적용된다. (Shader를 Particles/Additive로 해야 2d 이미지 배경 사라진


다)

반응형

Post

반응형

https://www.ip-tracker.org/

출발지 ip를 와이어샤크에서 확인 후 위 사이트에서 찾으면 어디쯤있는지 알 수 있다.

하지만 ip주소를 중간에서 바꿔주면 확인이 어렵다.


ip주소 추적

메일을 이용하여 ip 추적하는 법

메일의 경우 '원문보기' 라는 버튼을 누르면 더 많은 내용을 볼 수 있다.

여러 메일 서버를 거치기 때문에 전송과정이 추가적으로 붙는다.

메일 내용으로 n차 메일 서버 정보... 2차 메일서버 정보, 1차 메일서버 정보, 원문 순이다.


반응형
▲ top