์ด๋ฒ์๋ ์ฌ๋ฌ๋ชจ๋ก ํ๋ก๊ทธ๋๋ฐ์ ๋ง์ ์๊ฐ์ ๋ณด๋์ต๋๋ค.
๊ทธ๋์ ์ด๋ฒ์๋ ๊ฝค ์คํฌ๋ฆฝํธ์ ๋ํ ๋ด์ฉ์ด ๋ง์ต๋๋ค.
์๋ํฐ ์คํฌ๋ฆฝํธ
์ ๋ํฐ์์ ์ธ ์ ์๋ ๊ฐ๋ ฅํ ๊ธฐ๋ฅ ์ค ํ๋์ ๋๋ค.
์ด๊ฒ์ ์ด์ฉํด ์ ๋ํฐ ์๋ํฐ๋ผ๋ ๊ฒ ์์ฒด๋ฅผ ์ปค์คํฐ๋ง์ด์ง ํ ์ ์์ฃ .
๊ทธ๋์ ์ด๋ฒ์ ์ด๋ฒคํธ์ ๋์ฌ, ์ปท์ฌ ๋ฑ์ ๋ง๋ค๊ธฐ ์ํด ๊ณต๋ถํ๊ธฐ ์์ํ์ต๋๋ค.
1 2 3 | [Serializable] [CreateAssetMenu(fileNameย =ย "์๋กย ๋ง๋ค์ด์งย ์์
ย ์ด๋ฆ.asset",ย menuNameย =ย "๋ฉ๋ดย ํธ๋ฆฌ")] publicย classย Booย :ย ScriptableObjectย {ย ...ย } | cs |
ํด๋์ค๋ ๊ตฌ์กฐ์ฒด ์์ Serializable๊ณผ CreateAssetMenu๋ฅผ ํตํด ์ ๋ํฐ์์ ์ด ํด๋์ค๋ฅผ ์ด์ฉํ assetํ์ผ์ ๋ง๋ค ๊ธฐ๋ฅ์ ์ถ๊ฐํฉ๋๋ค.
์ด๋๋ก ์ ๋ํฐ์์ ์์ ๋ฉ๋ด๋ฅผ ์ฐํด๋ฆญ -> Create ์์ ์ถ๊ฐ ํ ๋ฉ๋ด๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
1 2 3 4 5 | [SerializeField] publicย intย a; ย [SerializeField] publicย List<string>ย b; | cs |
๊ทธ๋ฆฌ๊ณ ์ด๋ฐ์์ผ๋ก ์ง๋ ฌํ ํ ํ๋์ SerializeField๋ฅผ ๋ถ์ฌ์ฃผ๋ฉด,
ํ๋ก๊ทธ๋จ์์ ์ง๋ ฌํ๋ฅผ ํ ๋, ์ด๋ฌํ ํ๋์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ฒ ๋ค๊ณ ์ ํ๊ฒ ๋ฉ๋๋ค.
๋ฉ๋ด๊ฐ ์ถ๊ฐ๋ ๋ชจ์ต
์ฐํด๋ฆญ์์ ๋ฉ๋ด๋ฅผ ์ ํํ๋ฉด, ์์์ ๋ง๋ ํด๋์ค๊ฐ ๋ฐ๋ก ์ง๋ ฌํ ๋์ด assetํ์ผ๋ก ๋ง๋ค์ด์ง๋๋ค.
์ด๋ ๊ฒ ๋ง๋ค์ด์ง assetํ์ผ์ ํ ์คํธ ํธ์ง๊ธฐ๋ก ์ด ์ ์๊ธฐ ๋๋ฌธ์,
๋ด์ฉ์ ํ์ฑํด์ ๋๋ค๋ฅธ ์ ์ฉ ํธ์ง๊ธฐ๋ฅผ ๋ง๋๋ ๊ฒ์ด ๊ฐ๋ฅํฉ๋๋ค.
์ ๋ ์ด๋ฒคํธ ์์๋ฅผ ์์ ๋กญ๊ฒ ๋ณ๊ฒฝํ๊ณ ๋ง๋ค ์ ์๊ฒ, ์๋ํฐ ์คํฌ๋ฆฝํธ์์ ReorderableList๋ฅผ ํ์ฉํ์ต๋๋ค.
ReorderableList๋ List๋ฅผ ์์ ๋กญ๊ฒ ์์ ํ ์ ์๋ ๋ ์ด์์์ ๋ง๋ค์ด์ค๋ค.
Example ์คํฌ๋ฆฝํธ์๋ ์๋ํฐ ์คํฌ๋ฆฝํธ๊ฐ ์ฐ๊ฒฐ๋์ด ์์ต๋๋ค.
์๋ํฐ ์คํฌ๋ฆฝํธ์๋ asset์ ์ฐธ์กฐํ๋ ํ๋๊ฐ ์๊ณ , ์ด asset์ ScriptableObject๋ฅผ ์ด์ฉํ๊ธฐ ๋๋ฌธ์,
asset์ ReorderableList๋ฅผ ํ์ํ๋ ์๋ํฐ ์คํฌ๋ฆฝํธ๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
๊ทธ๊ฒ์ ์ด์ฉํด Example์ ์๋ํฐ ์คํฌ๋ฆฝํธ์์ asset์ ์๋ํฐ ์คํฌ๋ฆฝํธ๋ฅผ ๋์์ฃผ๊ธฐ๋ง ํ๋ ๊ธฐ๋ฅ์ ๋ง๋ค์์ฃ .
๊ทธ๋๋ ๋์ด์ผ ํ ์ฐ์ ๋ง๊ณ ...
์ด ๋ถ๋ถ์์ ๊ตฌํํ๋ ๋ฐ ์๊ฐ์ ๋ง์ด ๋ค์ผ ๋ฏ ํฉ๋๋ค.
์ ๋๋ฉ์ด์
์ด์ ๋ผ๋์ ์บ๋ฆญํฐ๋ฅผ ์ ํ๋ ์์ ์ ์์ํ์ต๋๋ค!
๋์๊ณผ ์์ง์์ ์์ฐ์ค๋ฌ์์ ์ํด, ์บ๋ฆญํฐ์ ๋ชจ์ต์ ๋์ถฉ ๊ทธ๋ฆฐ ๋ค์,
์ ์ ๋ฐ๋ ์์ผ๋ก ๊ทธ๋ฆฌ๊ณ ์์ต๋๋ค.
์ผ์...
๋ ์ด์ด 7์ ๋ฌํ, ๋ ์ด์ด 10์ ์ ๋ฐ๊ธฐ๋ก ์งํ๋๋ค.
ํ๋กฏ (Plot)
์ด ๊ฒ์์์ ์ฌ์ฉ ํ ํ๋กฏ์ ์ ๋ฆฌํ๋ ๊ฒ์ ๋๋์ต๋๋ค.
ํ ๋ด๋ถ์์ ํ๊ฐ๋ฅผ ๋ฐ์๋ณด๊ณ , ์ฌ๋ฐ๋ค๋ ์ปจํ์ ๋ฐ์์ต๋๋ค.
์์ฝ๊ฒ๋ ์ด๊ฑธ ๋ณด์ฌ ์ค ๋ฐฉ๋ฒ์ด ์์ผ๋ ์ฌํ๋ค์...
๋ง์์ฌ...
์ผ์์์์์์์์
1์ผ 1์ปค๋ฐ์ ์์ํ ์ดํ๋ก ์์ ๊ฐ์ ๊ฐ์ง๊ธฐ ์์ํ๋๋ฐ, ์ปค๋ฐ์ ํ๊ณ ํธ์๋ฅผ ์ํ๋ค๋...
๋๋ฌด ์ต์ธํ๋ค๊ณ ์๊ฐ์ด ๋ค์์ต๋๋ค.
๊ทธ๋๋ ์ด๋ ๊ฒ ๋๋ฌด๋ฅด๊ธฐ๋ง ํ๋ฉด ๋ฐ๋ ์ผ์ ์๊ฒ ์ฃ , ๋ค์ 1์ผ 1์ปค๋ฐ์ ์ด์ด๊ฐ๊ณ ์์ต๋๋ค.
์ด๋ ๊ฒ ์ด์ฌํ ๋๊ฒ ์๋๋ ฅ์ด ๋์ด์ฃผ๋ Git์ ๊ณ ๋ง์ธ ๋ฐ๋ฆ์ ๋๋ค.
๋ค์ ์ฃผ์ ๋ ์ค๊ฒ ์ต๋๋ค.
๊ฐ์ถ์
์ด์ผ ์๋ํฐ๋จ ์ ๋ถ ๊ฑด๋ค๊ณ ์ ๋ง ๋ณธ๊ฒฉ์ ์ด๋ค
๋งจ ๋ฐ์งค ๋ญ ํด/์ฌ์ดํธ์?
dd//GitLab์ Contributionํ๋ GitHubํด๋ผ์ด์ธํธ์ ๋๋ค.
[์ญ๊ฐค ๊ณต์์ฌ์ฃผ ํ๊ธฐ] ํดํด๋ ์ฌ์ฃผ๋ฅผ ๋ดค์ต๋๋ค ใ ใ ใ
http://gall.dcinside.com/board/view/?id=divination&no=7558280
(์ญํ๊ฐค์์ ํดํด๋์ด ์ฌ์ฃผ๋ด์ฃผ๊ณ ์์ต๋๋ค)
[์ญ๊ฐค ๊ณต์์ฌ์ฃผ ํ๊ธฐ] ํดํด๋ ์ฌ์ฃผ๋ฅผ ๋ดค์ต๋๋ค ใ ใ ใ
http://gall.dcinside.com/board/view/?id=divination&no=7558280
(์ญํ๊ฐค์์ ํดํด๋์ด ์ฌ์ฃผ๋ด์ฃผ๊ณ ์์ต๋๋ค)
์ฐพ์๋ณด๋ค๊ฐ ๊ถ๊ธํ๊ฒ ์์ด์ ์ง๋ฌธ๋๋ฆฝ๋๋ค. ์ค๋ ๋ง CustomEditor์ ScriptableObject์ ๋ํด ์์๋๋ฐ์ ... ์ดํ์ ๊ณ์ ์๋ํฐ ์ ๋ฐ์ดํธ ํ์๋ฉด์ ์ค๋กฏ์ด ScritableObject์ ์์ํ ํ์ผ์ GUILayout์ ๋ง๋ค์ด์ ์ฌ์ฉํ์ ๊ฑด๊ฐ์?
ใด ๋ง์ฝ ๊ทธ๋ ๊ฒ ํ์ จ๋ค๋ฉด Editor์ OnInspectorGUI ๊ฐ์ ๊ธฐ๋ฅ์ ์ด๋ป๊ฒ ๋ง๋์ จ๋์?