일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- map design
- listen server
- ability task
- UI
- MAC
- 언리얼 엔진
- 보안
- animation
- 유니티
- gameplay ability system
- rpc
- attribute
- Unreal Engine
- 게임개발
- network object pooling
- gameplay tag
- 언리얼엔진
- os
- CTF
- Multiplay
- nanite
- local prediction
- photon fusion2
- gas
- gameplay effect
- Replication
- 게임 개발
- stride
- unity
- Aegis
- Today
- Total
목록unity (24)
Replicated

문제 상황자꾸 목이 꺾인 채로 다니는 유닛들이 생김 원인?목이 꺾이는 애니메이션 ⇒ 유닛 사망 처리에 있음그리고 오브젝트 풀링 이후로 유닛을 재활용 하면서 생기는 문제임⇒ 사망 처리 시에서 무언가 문제가 생겼다예상: 이전 애니메이션을 확실히 끝맺고 사망 애니메이션을 실행시키도록 하면 될 것 해결 (안됨)원래 Any State에서 트리거 생기면 바로 Death로 넘어갔는데 이전 애니메이션 끝나고 넘어가도록 바꿈그런데 이러면 사망 애니메이션이 보이기 전에 유닛이 릴리즈됨 이렇게 하니까 죽을 타이밍을 못잡고 매우 오랫동안 살아있는 문제가 발생함⇒ 다른 방법이 필요 진짜 원인Death 애니메이션에서 사용하는 프로퍼티 중Run이나 Attack에서 사용하지 않은 프로퍼티가 있음 (ex. Root rotation)D..

우측의 버튼을 누르면 자신에게 할당된 유닛들의 타겟과 공격 가능 설정을 가능RPC로 권한을 가진 메인 클라이언트가 값을 변경하도록 함 이런 구조이게 좀 문제가 있는 구조인데, Target을 싱글톤 패턴으로 매니저 만들어서 그쪽에서 관리를 하게 했어야 한다원래는 Spawner가 플레이어 당 하나만 존재하는 기획이라 이렇게 짜놨는데, 스포너가 여러개가 되면서 코드의 품질이 떨어졌다 using Fusion;using UnityEngine;using UnityEngine.UI;using FusionHelpers;namespace Agit.FortressCraft{ public class ChangeTarget : NetworkBehaviour { private NormalUnitSpawn..

맵이 간단해서 굳이 벨만 포드 등의 길찾기 알고리즘을 쓸 필요가 없음이렇게 생긴 맵이고, 유닛은 가운데에 있는 지역을 움직임가운데애 X 형태의 다리를 건너도록 패스 파인딩을 하면 됨=> 중간에 지점을 하나 넣어주기 정확히 문제가 되는 상황은 무엇이냐?위 이미지처럼 다리 위에서 타겟 세팅을 바꾸는 경우임특정한 지역 (A, B, C, D) 위에선 바뀌어도 상관이 없음어차피 바로 연결되어 갈 수 있기 때문 하지만 다리 위에서는 일직선 상으로 갈 수가 없음⇒ middlePoint를 두고, 현재 유닛 위치를 기준으로 가장 가까운 지역으로 가서 그곳에서 목표지점으로 다시 이동하게 만들면 됨두번째 문제: 가운데 교차하는 다리에서는 어떻게 움직일 것이냐? 교차 지점의 다리에서 middlePoint 지정을 잘못하면 오히..
대미지를 주고 받는 건 AttackCollider, BodyCollider 두가지 스크립트의 상호작용으로 관리 using System.Collections;using System.Collections.Generic;using UnityEngine;using Fusion;namespace Agit.FortressCraft{ public class AttackCollider : NetworkBehaviour { public float Damage { get; set; } public string TargetUnit { get; set; } public string OwnType { get; set; } }}어택 컬라이더에 설정된 대미지가 바디 컬라이더에 ..

대미지를 받았을 때 하얗게 번쩍이는 효과를 주려고 했는데,문제는 스프라이트 렌더러의 색상을 바꿔서는 불가능색상 변화가 더하기 방식이 아니라 곱하기 방식이기 때문에 셰이더를 하나 만들어서 머테리얼을 만들어야 함 Shader "PaintWhite"{ Properties { _MainTex("Particle Texture (Alpha8)", 2D) = "white" { } } Category { Tags { "Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent" } Blend SrcAlpha One Cull Off Lighting Off Z..

using Fusion;using UnityEngine;namespace Agit.FortressCraft{ public class NormalUnitGenerator : NetworkBehaviour { private TickTimer spawnTimer { get; set; } public float SpawnTime { get; set; } NormalUnitSpawner spawner; public override void Spawned() { spawner = GetComponent(); SpawnTime = NormalUnitDataManager.Instance.SpawnTime; ..

사용 툴Unity engine 2022.3.20f1Photon Fusion2 기획자1인, 개발자2인개발자로 참여 AOS검사, 궁수, 마법사, 대검 4개 직업으로 상대방의 성을 부숴 점령하는 게임진행기간: 7/10 ~ 9/22현재 퍼블리싱 진행 중 개발 일지를 노션에다 써놨는데, 다 완성한 시점에서 블로그에 옮기다 보니 완성 시점으로 글이 써짐

유니티 연습 프로젝트를 끝마치고, 이제 스스로 프로젝트를 기획해서 만들어 보고자 합니다. 프로젝트의 이름은 Parrying Sowrd로, 적의 공격을 검사 캐릭터가 패링(카운터)해서 공략하는 것이 메인 요소입니다. 하지만 패링 말고도 중요한 요소가 하나 있는데, 바로 맵이 정해져 있지 않고, 로그라이크 게임처럼 변한다는 것입니다. 위 이미지는 스테이지 생성기의 클래스 다이어그램입다. 빈 게임 오브젝트에 StageMaker와 MapPiece를 부착하여 작동시키면 맵이 자동으로 생성됩니다. MapPiece에 넣어져있는 맵 조각의 프리팹에서 프로그램이 정해진 규칙대로 맵을 만들어냅니다. 위 이미지에는 반복되는 맵 조각들이 보이는데, 이건 테스트용으로 맵 조각을 타입마다 하나씩 밖에 안만들어서 그렇습니다. 처음..