2024/05 34

솔리디티 08. String

솔리디티 저장 방식storage 메모리콜데이터스택 storage- 변수, 함수 저장- a,a2는 storage에 저장되고 a2의 함수 안에 b는 stroage에 저장 불가.- storage에 저장이 되면 영속적으로 저장됨.- 영속적으로 저장됨에 따라 사용자들은 모든 노드를 다운받아야 함.이에 따라 사용하는 가격이 비싸짐가스 비용도 비싸짐 메모리- storage와 정반대- 함수 안의 값, 함수의 파라미터, 리턴 값, 레퍼런스 타입을 사용할 때 사용.- b는 메모리에 저장. 만약에 파라미터도 존재한다면 파라미터도 메모리에 저장.- 메모리는 이 함수가 작동할 때만 유효하기에 영속성은 없음.- storage보다 가스 비용이 덜 나감. 콜데이터- 주로 external function 파라미터에서 사용. 스택- 이..

유니티 05. CharacterController 기반의 오브젝트 이동

CharacterController 컴포넌트- 3차원 게임에서 사람 형태의 캐릭터 움직임과 관련된 제어를 위해 사용.- 캡슐 형태의 충돌 범위가 포함됨.lope Limit : 올라갈 수 있는 경사 한계 각tep Offset : 설정 값보다 낮은 높이의 계단을 오를 수 있음.Center : Capsule 충돌 범위의 중심점Radius : Capsule 충돌 범위의 반지름Height : Capsule 충돌 범위의 높이 게임 월드 구성, 플레이어 캐릭터 제작- 배포가 되었던 패키지를 다운 받아 불러옴.- prefab의 gameworld를 hierarchy로 불러와 게임 월드 생성. - gameworld를 한 눈에 보기 위해 메인 카메라를 수정.- 수정한 후 player 캐릭터를 생성. Mesh Renderer..

유니티 2024.05.09

유니티 05. 2D Tilemap - Extras

2D 확장 기능- Unity Technologies github 계정에서 서칭하여 다운로드.- 최근 버전에는 패키지에 포함이 되어 tiles에 대한 정보와 brushes에 대한 상세한 정보가 있으나 예전 버전의 경우 없을 수 있으니 다운로드. - 충돌하면 사라지는 스크립트- coin 이미지를 적용한 Sprite를 생성하여 Circle Collider 2D와 위에 충돌하면 사라지는 스크립트를 추가.- 해당 sprites을 asset으로 이동시켜 prefab으로 진행 시 많은 오브젝트가 있을 경우 복잡해짐. Brushes - Prefab Brush- prefab을 tilemap 프로젝트에 쉽게 배치할 수 있는 기능.- prefab brush는 prefab에 하나를 동록해서 사용하는 것으로 tile palet..

유니티 2024.05.09

유니티 05. 2D Tilemap Editor

Tilemap이란?- 타일 형태의 리소스를 배치해 게임 월드를 표현하는 방법Tilemap Editor 구성 요소Tile PaletteTilemap 오브젝트에 배치할 Tile Asset들을 등록해두는 저장소팔레트에 있는 Tile Asset을 여러 속성에 따라 배치하거나 삭제 가능Tile Asset맵에 배치할 수 있는 하나의 타일Grid 오브젝트자식으로 배치되는 Tilemap 오브젝트들을 관리하는 역할Cell Layout, Cell Swizzle 정보를 이용해 배치되는 맵의 방식을 Rectangle, Hexagon, Isometric Z As Y등으로 설정 가능.Tilemap 오브젝트Tile Asset을 배치하는 공간으로 실제 게임에 보여지는 타일 형태의 게임 월드Grid 오브젝트의 자식으로 여러 개의 Ti..

유니티 2024.05.08

솔리디티 07. View와 Pure

- 지난 실습에서 getA라는 function에 view가 들어 있음을 알 수 있음.- view 자리에 pure로도 대체 가능. view- function 밖의 변수들을 읽을 수 있음.- function 밖의 변수들의 변경이 불가능할 때 사용. - 배포를 하면 a는 1 read_a는 3으로 결과 나옴.- a를 계속 눌러도 1, 즉 변하지 않는다는 것을 확인할 수 있음. pure- function 밖의 변수들을 읽지 못하고 변경도 불가능할 때 사용.- function 내에서만 쓸 수 있는 변수들로만 구성. - read_a2는 7로 나옴.- function 내에 변수들로만 사용  view와 pure 둘 다 명시를 안 할 경우- function 밖의 변수들을 읽어서 변경해야 함.- read_a3는 13로 나옴..

솔리디티 06. function 2

public- 모든 곳에 접근 가능 externel- public 처럼 모든 곳에서 접근 가능하나,  externel이 정의된 자기 자신 contract 내에서 접근 불가. private- 오직 private이 정의된 자기 contract에서만 접근 가능.- private이 정의된 contract를 상속 받은 자식도 불가능. internal- private 처럼 오직 internal이 정의된 자가 자기 contract에서만 사용 가능. 관련 실습 - 배포한 것은 스마트 contract 내가 아니라 밖이라 a2는 접근 불가능.- public 만 접근 가능. - public_example2에서 public_example을 사용하기 위해서는 instance를 사용해야 함.[public_example deplo..

유니티 04. 2D 애니메이션 실습

플레이어 오브젝트에 이미지 분할- 이미지를 적용하여 Player Idle / Player Die 두개로 쪼개어 설정.- Player Idle의 이미지를 슬라이스하여 idle 이미지를 세 장으로 나눔. 애니메이션 재생 설정- project의 Animator controller을 적용하여 player 컨트롤러 변수에 적용. 대기 애니메이션 등록- asset에 animation 생성.- Loop time 체크하여 반복해서 재생true : 반복 재생false : 1회만 재생- animation view(animator)에서 편집 가능.- playerride로 들어가 assets에서 드래그를 하여 애니메이션 배치 가능. Samples- 2D 애니메이션의 프레임 재생 속도- 높을수록 애니메이션 속도 빠름 사망 애니..

유니티 2024.05.01