๐ Unity ๋ฉ๋ชจ
2024-04-09. 03:03
โ2019-12-10-Unity-Public-SerializeField : ๐ ์ ๋ํฐ _ ์ธ์คํํฐ์์ ๊ฐ์ ๋ณ๊ฒฝํ Public, [SerializeField] ์์ฑ ๋ณ์โ,
โ2022-08-26-Unity-GUID : ๐ Unity GUID ๋ณด๋ ๋ฒโ,
โ2023-01-06-OnParticleCollision-Not-Work : ๐ Unity OnParticleCollision ์ด ํธ์ถ๋์ง ์์ ๋โ,
โ2023-02-15-Unity-NavMesh : ๐ Unity NavMeshโ,
โ2023-02-24-Cannot-Perform-Upm-Operation : ๐ Unity โCannot perform upm operation: EBUSY: resource busy or locked, openโโ,
๊ธ ๊ณ์น
๐ซ ํค์๋
- Rich Text
- UI Toolkit
Collision.contacts
AddForce
์์์ Force ->force * DT / mass
๐ซ ์ธ์คํํฐ์์ ๊ฐ์ ๋ณ๊ฒฝํ Public, [SerializeField] ์์ฑ ๋ณ์
์ ๊ทผ ์ ์ด์๊ฐ Public ์ด๊ฑฐ๋ [SerializeField] ์์ฑ์ ์ค ๋ณ์๋ฅผ ์ธ์คํํฐ์์ ์์ ํ ํ,
ํด๋น ๋ณ์๋ฅผ [HideInInSpector] ์์ฑ์ผ๋ก ๋ฐ๊พธ๋๋ผ๋, ์ธ์คํํฐ์์ ์ค์ ๋ ๊ฐ์ด ์ ์ฅ๋์ด ๋จ์์์ ์ ์๋ค.
๋ถ๋ช
์ค๋ฅ ์์ด ๊ฒ์ ์์คํ
์ ๊ตฌํํ ๊ฒ ๊ฐ๋ค๊ณ ์๊ฐํ๋๋ฐ ์์ ํ ์ฌ์ค์ ๋ฏธ์ฒ ๋ชจ๋ฅด๊ณ ๋์ด๊ฐ๊ฒ ๋๋ค๋ฉด,
์๋ํฐ๊ฐ ์ค๋ฅ๋ผ๊ณ ๋งํด์ฃผ์ง๋ ์๊ณ , ์ผ์ผ์ด ์ฐพ์๋ณด๊ธฐ ์ ๊น์ง๋ ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ ์กฐ์ฌํด์ผ ํ๋ค.
๐ซ GUID ๋ณด๋ ๋ฒ
.meta ํ์ผ ์ด๋ฉด ๋์จ๋ค
๐ซ OnParticleCollision ์ด ํธ์ถ๋์ง ์์ ๋
- ํํฐํด ์์คํ ์์ Collision ์ด ์ผ์ ธ์๋์ง ํ์ธ
- Collision ์์ Type ์ด World ์ธ์ง ํ์ธ (๊ธฐ๋ณธ Plane)
- โญ Collision ์์ Send Collision Messages ๊ฐ ์ผ์ ธ์๋์ง ํ์ธ
- Collision ์์ Collision Quality ๊ฐ High ์ธ์ง ํ์ธ
- Collision ์์ Collision Quality / Collides With ์ ๋ ์ด์ด์ ๋ฟ๊ณ ์ ํ๋ ์ค๋ธ์ ํธ์ ๋ ์ด์ด๊ฐ ํฌํจ๋์ด ์๋์ง ํ์ธ
๐ซ NavMesh
๐ซ NavMesh, ์ฌ๋ฌ ํฌ๊ธฐ์ Agent์ ๋ํ NavMesh ๊ฐ๊ฐ Bake
๐ซง ๋ฌธ์ : ํ๋์ Agent Type๋ง Bake ๊ฐ๋ฅ
์ฌ๋ฌ ํฌ๊ธฐ์ Agent๋ฅผ ํจ๊ป ์ฌ์ฉํ๊ณ ์ถ์๋๋ฐ,
๊ธฐ๋ณธ ๋ด์ฅ ๊ธฐ๋ฅ์ผ๋ก๋ ํ ๋ฒ์ ํ Agent Type์ ๋ํด์๋ง NavMesh๋ฅผ Bake ํ ์ ์์๋ค.
๋๋ฌธ์ NavMesh๋ฅผ Bakeํ๋ Agent Type๊ณผ ๋ค๋ฅธ Agent Type์ ๊ฐ์ง Agent๋,
ํ๋ซํผ์ ์ ๋๋ก ๋ฐฐ์นํ์์๋ ์๋ฌ ๋ก๊ทธ๋ฅผ ๋ฟ์ด๋๋ค. (Failed to create agent because it is not close enough to the NavMesh)
ํ๋ซํผ ์ด๋ ๊ณณ์๋ ํด๋น Agent Type์ ๋ํ NavMesh๊ฐ ์๊ธฐ ๋๋ฌธ์ด๋ค.
์ด์ ์ฌ๋ฌ Agent Type์ ๋ํด, NavMesh๋ฅผ โ๊ฐ๊ฐโ Bake ํ๋ ๋ฐฉ๋ฒ์ด ํ์ํ๋ค.
๐ซง ํด๊ฒฐ : NavMeshSurface
NavMesh Building Components ์ค NavMeshSurface ์ปดํฌ๋ํธ๋ฅผ ์ด์ฉํ๋ฉด, ์ฌ๋ฌ Agent Type์ ๋ํด NavMesh๋ฅผ โ๊ฐ๊ฐโ ๊ตฌ์๋ผ ์ ์๋ค !
๊ทธ๋ฐ๋ฐ NavMesh Building Components๋ Unity 2021์ ๋ด์ฅ๋ NavMesh์๋ ํฌํจ๋์ด ์์ง ์๋ค.
NavMesh Building Components๋ AI Navigation ํจํค์ง์ Experimental ๋ฒ์ ์์๋ง ์ง์๋๊ณ ์๋ค. (23-02-15 ๊ธฐ์ค)
๋๋ฌธ์ ์ด ๋ฒ์ ์ผ๋ก ์
๋ฐ์ดํธ๋ฅผ ์์ผ์ค์ผ ํ๋ค.
ํจํค์ง ์ค์น๋ Unity NavMesh Building Components ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ๋ค.
์ฌ์ฉ ๋ฐฉ๋ฒ์, Unite Europe 2017 - Finding the path ๊ฐ์ฐ์ ์ฐธ๊ณ ํ๋ค.
๐ซ Cannot perform upm operation: EBUSY: resource busy or locked, open
Cannot perform upm operation: EBUSY: resource busy or locked, open
์ ๋ํฐ ํจํค์ง ์ค์น ์๋ ์ ์ ์๋ฌ๊ฐ ๋ฌ๋ค.
IDE ๋๊ณ ๋ค์ ์๋ํ๋ค.
๐ซ Dropdown, ์ ํ์ง ์์ชฝ์ผ๋ก ๋์ค๊ฒ ํ๋ ค๋ฉด
Template ์ค๋ธ์ ํธ, Pivot Y ๊ฐ์ ๊ธฐ์กด 1์์ 0์ผ๋ก ๋ณ๊ฒฝ, Template ์์น ์กฐ์
๐ซ Scroll Rect, ํค๋ณด๋ (WASD, ๋ฐฉํฅํค) ์ ๋ ฅ ๋ฐฉ์ง
Scroll Rect, Scroll Sensitivity ๊ธฐ์กด 1์์ 0์ผ๋ก ๋ณ๊ฒฝ
๐ซ Scroll View, ์๋์์ ์๋ก ์ฌ๋ผ๊ฐ๋ ๋ชฉ๋ก
Content ์ค๋ธ์ ํธ, Pivot Y ๊ฐ์ ๊ธฐ์กด 1์์ 0์ผ๋ก ๋ณ๊ฒฝ
๐ซ Layout ์๋ก๊ณ ์นจ
LayoutRebuilder.ForceRebuildLayoutImmediate(RectTransform)
๐ซ Animator Disable ๋ผ๋ ์ํ ์ ์ง
Animator.keepAnimatorContrillerStateOnDisable = true;
์ง๊ด์ ์ธ ์ด๋ฆ
์ ๋๋ฉ์ดํฐ ๊ธฐ๋ฅ์ด๊ธฐ์, ๋น๋จ UI ๋ฟ๋ง ์๋๋ผ ์ผ๋ฐ ์์
์์๋ ์ฌ์ฉ ๊ฐ๋ฅ
๐ซ ์๋ค๋จธ์ ์๋ง ๋ชจ๋์์ ๋ฐ๋ก๋ฐ๋ก ์ ๋ฐ์ดํธ๊ฐ ์๋จ
Cinemachine Brain ์์ Update Method ๊ฐ Fixed Update ๋ฉด ๋ฐ๋ก๋ฐ๋ก ์๋ฐ๋
๐ซ ์คํด๋ฃจ๋ Occluder, ์คํด๋ฃจ๋ Occludee
์คํด๋ฃจ๋ Occluder : ์คํด๋ฃจ๋๋ฅผ ๊ฐ๋ฆฌ๋ ์ค๋ธ์ ํธ
์คํด๋ฃจ๋ Occludee : ์คํด๋ฃจ๋์ ์ํด ๊ฐ๋ ค์ง๋ ์ค๋ธ์ ํธ
๐ซ ๋ผ์ดํธ ๋ฒ ์ดํฌ
๋ฒ ์ด์ปค๋ฆฌ ๋ฒ ์ดํฌ ์ ํฐ์ ๊ฒ์์ ๋นจ๊ฐ์ ์ด๋ก์ ํ๋์ ์ผ๋ฃฉ
Auto-Atlasing . Texels per unit 40 ~ 80
๊ธ๋ก๋ฒ ์ผ๋ฃจ๋ฏธ๋ค์ด์
. samples
๋ณดํต UV ์ค๋ฒ๋ฉ ๋ฌธ์ > Texels per unit ๊ฐ ์ฌ๋ ค์ฃผ๊ฑฐ๋, UV ๋งต ์์ฒด ๊ฐ๊ฒฉ
Force Power-Of-Two Atlas ์ฒดํฌ > ๊ฒ์ ๊ณต๊ฐ ๋ง์ ํ
์ค์ณ๋ฅผ ํฌ๊ธฐ ์ค์ฌ์ค, ํด ๊ฐ๋ ค์ง๋ ์ค๋ธ์ ํธ
๐ซ Mesh Collider ๋ผ๋ฆฌ ์ถฉ๋ ์๋จ
Convex ์ฒดํฌ
๐ซ ๋๋ฒ๊น
Debug.Break()
- Ctrl + Alt + P : 1 ํ๋ ์ ์งํ
- Ctrl + Shift + P : ์ผ์์ ์ง/์ฌ์