Network Mecanim Animator - cheona-thousand-man/Unity-myBasics-Wiki GitHub Wiki
๊ฐ์
NetworkMecanimAnimator
๋ Unity์ Mecanim Animator
์ปดํฌ๋ํธ์ ์ฐ๊ด๋ ์ํ์ ํ๋ผ๋ฏธํฐ ๊ฐ ๋๊ธฐํ
์ฐธ๊ณ :
NetworkMecanimAnimator
๋ฅผ ์ฌ์ฉํ์ฌ ์ ๋๋ฉ์ด์ ์ ๋๊ธฐํํ๋ ๊ฒ์ด ํญ์ ์ด์์ ์ธ ๋ต์ด ์๋ ์ ์์ต๋๋ค. ํด๋น ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด ๋คํธ์ํฌ ํธ๋ํฝ์ด ํฌ ์ฆ๊ฐํ ์ ์์ต๋๋ค.
์ฌ์ฉ๋ฒ
๋ชจ๋ ์ปจํธ๋กค๋ฌ ์ฝ๋๋ ์
๋ ฅ์ State Authority
์ Input Authority
์ ์ ์ฉํ๊ณ , Proxies์๋ ์ ์ฉX(Fusion์ ์
๋ ฅ ์์คํ
์ ์ฌ์ฉํ๋ฉด ์๋ ์ ์ฉ)
void FixedUpdateNetwork()
{
// ์
๋ ฅ์ด ์ฌ์ฉ ๊ฐ๋ฅํ ๊ฒฝ์ฐ (StateAuthority ๋ฐ InputAuthority๊ฐ true),
// ๊ทธ๋ฆฌ๊ณ Forward Tick ์์๋ง Animator์ ๋ํ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฉํฉ๋๋ค.
if (GetInput(out var input) && Runner.IsForward)
{
// Animator์ ์
๋ ฅ ์ ์ฉ
}
}
Shared Mode
Fusion ์
๋ ฅ ์ฒ๋ฆฌ ์๋ Shared Mode
๋ Fusion ์ ๋ ฅ ์์คํ ์ ์ฌ์ฉํ์ง ์์๋ ๋๋ฉฐ, ์ ๋ ฅ ์์ง๊ณผ ์ ์ฉ ์ง์ ์ฒ๋ฆฌ- ์
๋ ฅ์
State Authority
์์๋ง ์ ์ฉํ๋๋ก ์ ํ
void FixedUpdateNetwork()
{
// Shared Mode์์:
// Animator์ ๋ํ ๋ณ๊ฒฝ ์ฌํญ์ StateAuthority์์๋ง ์ ์ฉํฉ๋๋ค.
if (HasStateAuthority)
{
// Animator์ ์
๋ ฅ ์ ์ฉ
}
}
SetTrigger()
Animator.SetTrigger()
๋์NetworkMecanimAnimator.SetTrigger()
๋ฉ์๋ ๊ถ์ฅAnimator
์ปดํฌ๋ํธ์ ๊ฐ์NetworkMecanimAnimator
๊ฐ ์บก์ฒํ๊ธฐ ์ ์ ๊ธฐ๋ณธ bool ๊ฐ์ด false๋ก ์ฌ์ค์ ๋ ์ ์์NetworkMecanimAnimator.SetTrigger()
์๋passThroughOnInputAuthority
์ต์ O- ์
๋ ฅ ๊ถํ(Input Authority)์์ ์ฆ์
Animator.SetTrigger()
ํธ์ถ
- ์
๋ ฅ ๊ถํ(Input Authority)์์ ์ฆ์