일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Multiplay
- Security
- 유스케이스
- Rr
- ret2libc
- 게임개발
- unity
- gameplay ability system
- 언리얼엔진
- dirty cow
- animation
- Replication
- 게임 개발
- gas
- Delegate
- DSP
- DP
- ability task
- MLFQ
- stride
- CTF
- 메카님
- 유니티
- photon fusion2
- Unreal Engine
- boss monster
- MAC
- 언리얼 엔진
- Race condition
- 운영체제
- Today
- Total
목록unity (22)
다양한 기록
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/JtRgQ/btsL8JEtf3l/IpwSkhKo2Rric8XUxjZIS0/img.png)
5레벨 단위로 특별한 강화를 할 수 있는 시스템해당 강화는 3개 중 하나를 뽑을 수 있으며, 등급이 존재 등급증강 이름효과일반돈 주고도 못 사~경험치 +30일반배부르게 먹자체력 +100 골드 + 40일반수색조유닛 이동속도 10% 증가 유닛 공격속도 5% 감소일반월급날 발걸음유닛 이동속도 5% 증가 골드 + 40일반돈으로 해결유닛 공격속도 5% 증가 골드 + 20희귀사기증진유닛 공격속도 20% 증가희귀하체 단련유닛 이동속도 20% 증가희귀돈이 최고야!골드 +100일반어셈블유닛 10명 소환전설베테랑유닛 거대화 유닛 공격속도 25% 증가 유닛 이동속도 35% 증가전설재참전부활대기시간 80%감소 using System.Collections;using System.Collections.Generic;using U..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/4cXbf/btsL7hWsHp1/JEpLED6HCo82XaWO2RrV31/img.png)
using System.Collections;using System.Collections.Generic;using UnityEngine;using Fusion;namespace Agit.FortressCraft{ public class MonsterSpawner : NetworkBehaviour { [SerializeField] NetworkObject Monster; [SerializeField] float spawnDelay = 10.0f; [SerializeField] int maxSpawnConut = 3; public int SpawnCount { get; set; } private TickTimer spawnTimer; ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dhEqo1/btsL8UloMmL/mTMR3Yu1utaONB9TNNMlZ0/img.png)
효과음은 애셋 쓰고, 배경음은 AI로 만들었음 1. FxSoundpublic void Attack() { if (attackInputTimer.Expired(Runner) && animState.fullPathHash != animAttack ) { if (Job == JobType.Archer) { archerFire.FireDirection = lastDir; archerFire.SetDamageByLevel(level, Job); if (!BuffAttackTimer.Expired(Runner)) { archerFire.BuffDamage(coefAttack); } Invoke("PlaySound1", 0.4f); } else if (Job == Job..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/boMGPI/btsL7LJKdo4/T6v3dsvuzg9XDkOomLtjv1/img.png)
using Fusion;using UnityEngine;using UnityEngine.UI;using FusionHelpers;namespace Agit.FortressCraft{ public class UpgradeUnit : NetworkBehaviour { public string OwnType { get; set; } private NormalUnitSpawner[] spawners; private NormalUnitSpawner targetSpawner; private Button btnAttackUpgrade; private Button btnDefenseUpgrade; private Button btnTi..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/b2ncjA/btsL86TpQwk/lLANeQWYLzKzDzXYqB9KX1/img.png)
using System.Collections;using System.Collections.Generic;using UnityEngine;namespace Agit.FortressCraft{ public enum MonsterType { NORMAL, SWORD, BOW, MAGIC, NON } public enum BuffType { NON, ATTACK, DEFENSE } [CreateAssetMenu( fileName = "MonsterData", menuName = "Scriptable Object/Monster Data" )] public class Mon..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/tnTkV/btsL9QWSRlL/zVegyKe5DzDkb2Sg60fv30/img.png)
Monster_FrostLizardMainMonster_FrostLizardController 두 가지 클래스를 통해 AI가 작동 Main : 다음에 어떤 행동을 할 지 정하는 클래스Controller : 실제 해당 행동에 대한 구체적인 구현 Main에서 다음 스테이트 결정하는 건 코루틴으로 구현Controller에서 AI 설정은 FIxedUpdateNetwork에서 구현됨 이유: 컨트롤러의 경우 해당 행동에서 속도 설정 같은 게 필요한 경우가 있음⇒ 한 번 스테이트 정하고 끝나지 않는 행동이 있어서 컨트롤러에서는 코루틴으로 구현 X using System.Collections;using System.Collections.Generic;using UnityEngine;using Fusion;namespa..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bjGFxo/btsL7AVGML2/OnvdKJ5Fy9tYF9xsWsODv0/img.png)
GPT가 생성해준 이미지를 기반으로 만듦그냥은 사용 불가 ⇒ 왜냐하면 이미지의 각 부분이 분리되어 있지 않아서스켈레톤 애니메이션 형태로 만들 수가 없음이게 싫으면 각각의 이미지를 프레임마다 만들어야 하는데 사실상 불가능* 레퍼런스 이미지는 Parrying Sword 만들 때 그렸던 Decasys 이게 GPT가 준 이미지작업은 클립 스튜디오에서 진행, 도트는 마커에 있는 도트펜 사용 필요한 부분마다 도트 외곽이랑 라인 바탕색만 채우고클리핑 마스크로 GPT가 생성한 이미지를 곱하기 방식으로 색을 입힘⇒ 원본에서 좀 변형이 있지만 처음부터 그리는 것보다 훨씬 빠른 속도로 만들어짐 단, 에셋을 쓰는 게 아닌 만큼 애니메이션은 직접 만들어주어야 함 Idle 상태 애니메이션 걷기 애니메이션 Die 애니메이션뒤로 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dNGbBe/btsL725uWXt/Kq2EyqRyokkVqIeQKLpf30/img.png)
using System.Collections;using System.Collections.Generic;using UnityEngine;using Fusion;using NetworkRigidbody2D = Fusion.Addons.Physics.NetworkRigidbody2D;namespace Agit.FortressCraft{ public class MagicianSpell : NetworkBehaviour { public Transform Target { get; set; } private NetworkRigidbody2D _rb; public float SpellSpeed { get; set; } public NetworkPrefabI..