종잇장
언제까지 유니티만 할거냐

전체 글

Unity Fungus

Unity Fungus #4 - Flowchart, Block 이동하기 (Call Command)

Menu 추가 Flowchart Start에 블럭의 이름을 "시작 블럭"으로 바꾸고, Say와 Menu를 추가했습니다. Menu 첫 번째는 "두 번째 블럭으로 이동"으로 출력하고 같은 Flowchart 내에서 다른 블럭으로 이동할 선택지가 될 것이고, Menu 두 번째는 "두 번째 플로우차트로 이동"으로 출력하고 다른 Flowchart의 블럭으로 이동할 선택지가 될 예정입니다. 이전에 배운 대로 선택지에 따라 연결을 해줍니다. Block 이동 새로운 블럭을 만들고 "두 번째 블럭"으로 이름을 지정해 줍니다. 그리고 Say Command로 두 번째 블럭임을 알리는 텍스트 추가해 줍니다. Call Command를 추가해 줍니다. Call Command에 Target Block 값으로 좀 전에 만든 "두 번째..

Unity Fungus

Unity Fungus #3 - 선택지, 메뉴 만들기

Menu Command로 선택지 추가 블럭을 선택하고 Menu Command를 추가합니다. 선택지를 둘 정도 추가하고, Text에 선택지 이름을 적어줍니다. 이 상태로 실행하면 위 영상처럼 실행됩니다. Block 추가, Menu Command와 연결하기 Flowchart Window에서 마우스 우클릭하여 새로운 블럭을 추가합니다. 그리고, 새로 추가한 블럭을 선택합니다. 블럭의 이름을 변경하고 블럭이 실행되었을 때 실행할 Say Command를 추가해줍니다. 위와 비슷하게 선택지에 맞게 블럭을 설정해줍니다. 시작 블럭으로 돌아와 이전에 추가한 Menu Command를 선택하고 [Target Block]을 선택하고 이전에 추가한 닭도리탕 블럭과 봉추찜닭 블럭을 각각 선택해줍니다. 정상적으로 선택되었다면 위..

Unity Fungus

Unity Fungus #2 - Flowchart 추가, 대화 출력

기본구조 Flowchart에 Block들이 노드형식으로 배치되어있고, Block마다 Command를 실행시키는 방식으로 되어있습니다. 이 방식을 기억해주세요. Flowchart 추가 상단 메뉴 [Tools] → [Fungus] → [Create] → [Flowchart] 를 선택합니다. 정상적으로 생성되면 Hierarchy View에 위 사진처럼 Flowchart가 생성됩니다. Floatchart Window 열기 플로우차트 윈도우를 여는 방법은 크게 두종류입니다. 방법1. Hierarchy View에서 Flowchart를 선택하고, Inspector View에서 [Open Floawchart Window] 버튼을 클릭합니다. 방법2. 상단메뉴 [Tools] → [Fungus] → [Flowchart ..

Unity Fungus

Unity Fungus #1 - Import

Unity: 2022.3.17f1 Fungus: 3.13.8 https://github.com/snozbot/fungus GitHub - snozbot/fungus: An easy to use Unity 3D library for creating illustrated Interactive Fiction games and more. An easy to use Unity 3D library for creating illustrated Interactive Fiction games and more. - GitHub - snozbot/fungus: An easy to use Unity 3D library for creating illustrated Interactive Fiction ... github.com ..

Unity Fungus

Unity Fungus - 비주얼노벨, 미연시, 스토리텔링 게임 개발 에셋

안녕하세요. 최근에 Fungus를 알게된 김에 관련 내용들 정리해봅니다. https://fungusgames.com/ Fungus Fungus brings your game to life by making it easy to add colourful characters and gripping storylines to your Unity 3D game. Its intuitive interface lets you create beautiful story games easily - for free and with no coding! fungusgames.com 공식적으로는 "Unity 3D에서 대화형 스토리텔링 게임을 만들기 위한 오픈 소스 도구" 라고 소개되어있습니다. 비주얼노벨에 필요한 요소들은 대부분 갖..

Unity Tips

NSprites - Unity ECS용 Sprite Renderer, Sprite Animation 프레임워크

안녕하세요. 기존에 ECS 3D기반으로 개발된 프로젝트를 2D 도트느낌의 게임으로 변환하면서 NSprites라는 라이브러리를 사용했는데 관련해서 주의해야 할 점들 정리해밨습니다. 1. NSprites https://github.com/Antoshidza/NSprites GitHub - Antoshidza/NSprites: Unity DOTS Sprite Rendering Package Unity DOTS Sprite Rendering Package. Contribute to Antoshidza/NSprites development by creating an account on GitHub. github.com 이 Framework는 ECS와 호환되는 Sprite Rendering 시스템 입니다. GP..

Unity Tips

Unity Entities - Job에서 EntityManager, EntityCommandBuffer 사용 방법

Unity 2022.3.2f Entities 1.0.11 public void OnUpdate(ref SystemState state) { var ecbSingleton = SystemAPI.GetSingleton(); var ecb = ecbSingleton.CreateCommandBuffer(state.WorldUnmanaged).AsParallelWriter(); new CaracterUpdateJob() { ecb = ecb, deltaTime = SystemAPI.Time.DeltaTime, }.ScheduleParallel(); } EntityManager나 EntityCommandBuffer를 그대로 Job에 넘길 수 없어서 EntityCommandBuffer.ParallelWriter로 바..

Unity Tips

Unity Entities - System에서 Collections(NativeArray, NativeList ...) Dispose함수를 Job 이후에 실행하는 방법

Unity 2022.3.2f Entities 1.0.11 ISystem 인터페이스에 함수들에는 SystemState를 인자로 받도록 되어있는데, state의 Dependency를 활용하면 쉽게 가능합니다. public partial struct ECSExpGatherSystem : ISystem { // ... 생략 ... // public void OnUpdate(ref SystemState state) { // ... 생략 ... // var expCount = expQuery.CalculateEntityCount(); var resultExp = new NativeArray(expCount, Allocator.TempJob); var gatheringExpJobHandle = new Gatherin..

Unity Entities Tutorial

Unity Entities 1.0.0 Tutorial - Step 9. Camera follow

런타임에서 ECS와 GameObject 간의 간단한 상호 작용. 1. "Scripts/MonoBehaviours" 폴더에 "CameraSingleton.cs"라는 이름의 새 C# 소스 파일을 만들고 아래 코드를 작성합니다. // main cmaera에 접근하는 방법은 여러 가지가 있지만 싱글톤(여기서 사용하는 대로)을 사용하는 접근 방식은 모든 종류의 MonoBehaviour에서 작동합니다. class CameraSingleton : UnityEngine.MonoBehaviour { public static UnityEngine.Camera Instance; void Awake() { Instance = GetComponent(); } } 2. "SampleScene"의 "Main Camera" Game..

Unity Entities Tutorial

Unity Entities 1.0.0 Tutorial - Step 8. Safe zone

Config 싱글톤, 실시간 변환. 1. "Authoring/Components" 폴더에 "Shooting.cs"라는 이름의 새 C# 소스 파일을 만들고 아래 코드를 작성합니다. using Unity.Entities; // 이것은 "Enableable Component"이기도 한 태그 구성 요소입니다. // 이러한 Component는 Entity에 남아 있는 동안 켜고 끌 수 있습니다. // 그렇게 하는 것이 Component를 추가하고 제거하는 것보다 훨씬 효율적입니다. struct Shooting : IComponentData, IEnableableComponent { } 2. "Scripts/Authoring" 폴더에 있는 "TurretAuthoring.cs" 파일의 내용을 아래와 같이 수정합니다...