728x90
[DirectX12] Direct3D ์ดˆ๊ธฐํ™” ๊ณผ์ •, ๊ทธ๋ž˜ํ”ฝ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ CPU์™€ GPU์˜ ์ƒํ˜ธ์ž‘์šฉ
๐ŸŽฏ game engine/โ—ฝ directX122023. 12. 6. 16:39[DirectX12] Direct3D ์ดˆ๊ธฐํ™” ๊ณผ์ •, ๊ทธ๋ž˜ํ”ฝ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ CPU์™€ GPU์˜ ์ƒํ˜ธ์ž‘์šฉ

๐ŸŸ Direct3D ์žฅ์น˜ ์ดˆ๊ธฐํ™” ๊ณผ์ • ๋ฐ ์šฉ์–ด ์ •๋ฆฌ 1. ์„œ์ˆ ์ž(descriptor) ๊ฐ์ฒด ์„œ์ˆ ์ž๋Š” ์ž์› ์ž๋ฃŒ๋ฅผ ์ง€์ •ํ•˜๋Š” ์ˆ˜๋‹จ์ผ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ž์›์„ gpu์— ์„œ์ˆ ํ•˜๋Š” ์ˆ˜๋‹จ์ด๊ธฐ๋„ ํ•˜๋‹ค. ์„œ์ˆ ์ž๋Š” direct3d์—๊ฒŒ ์ž์›์˜ ์‚ฌ์šฉ๋ฒ•์„(์ž์›์„ ํŒŒ์ดํ”„๋ผ์ธ์˜ ์–ด๋–ค ๋‹จ๊ณ„์— ๋ฌถ์–ด์•ผ ํ•˜๋Š”์ง€) ๋งํ•ด์ค€๋‹ค. Dirext3D ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์€ ์ž์›์„ ์ง์ ‘ ํŒŒ์ดํ”„๋ผ์ธ์— ๋ฌถ์ง€ ์•Š๋Š”๋‹ค. ๋Œ€์‹ , ๊ทธ๋ฆฌ๊ธฐ ํ˜ธ์ถœ์ด ์ฐธ์กฐํ•  ์„œ์ˆ ์ž๋“ค์„ ์ง€์ •ํ•จ์œผ๋กœ์จ ์ž์›์„ ํŒŒ์ดํ”„๋ผ์ธ์— ๋ฌถ๋Š”๋‹ค. 2. ์„œ์ˆ ์ž ์ข…๋ฅ˜(ํ˜•์‹) CBV ์„œ์ˆ ์ž : constant buffer(์ƒ์ˆ˜ ๋ฒ„ํผ)๋ฅผ ์„œ์ˆ ํ•œ๋‹ค. SRV ์„œ์ˆ ์ž : shader resource(์…ฐ์ด๋” ์ž์›)์„ ์„œ์ˆ ํ•œ๋‹ค. UAV ์„œ์ˆ ์ž : unordered access view(์ˆœ์„œ ์—†๋Š” ์ ‘๊ทผ)์„ ์„œ์ˆ ํ•œ๋‹ค. ํ‘œ๋ณธ์ถ”์ถœ๊ธฐ ์„œ์ˆ ..

[Unreal/์–ธ๋ฆฌ์–ผ] Behavior Tree ๊ธฐ์ดˆ
๐ŸŽฏ game engine/โ—ฝ ์–ธ๋ฆฌ์–ผ(unreal)2023. 6. 26. 16:19[Unreal/์–ธ๋ฆฌ์–ผ] Behavior Tree ๊ธฐ์ดˆ

1. BB(BlackBoard / ๋ธ”๋ž™ ๋ณด๋“œ) AI์˜ ๊ธฐ์–ต์œผ๋กœ AI์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ณ€์ˆ˜๋ฅผ ์ €์žฅํ•˜๊ณ  ์ด๋ฅผ cpp์—์„œ ์ ‘๊ทผํ•˜์—ฌ ์ง€์ •์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•œ๋‹ค. AI๊ฐ€ ์•Œ์•„์•ผ ํ•˜๋Š” ๋ชจ๋“  ์š”์†Œ๋Š” ๋ธ”๋ž™๋ณด๋“œ ํ‚ค(Blackboard Key)๋ฅผ ํ†ตํ•ด ์ฐธ์กฐ ํ•  ์ˆ˜ ์žˆ๋‹ค. BT(Behavior Tree / ํ–‰๋™ ํŠธ๋ฆฌ)์˜ '๋‡Œ' 'BB_XXXX'๋ผ๊ณ  ์ด๋ฆ„์„ ์ง“๋Š”๋‹ค. 2. BT(Behavior Tree / ํ–‰๋™ ํŠธ๋ฆฌ) ๐Ÿ”ธ ๋ฃจํŠธ(Root): Tree์˜ ์‹œ์ž‘์  --- ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ, ์„œ๋น„์Šค์— ๋ถ™์„ ์ˆ˜ ์žˆ๋‹ค. --- ๋””ํ…Œ์ผ ํŒจ๋„์—์„œ ์‚ฌ์šฉํ•  BB(๋ธ”๋ž™๋ณด๋“œ)๋ฅผ ๊ณ ๋ฅผ ์ˆ˜ ์žˆ๋‹ค. ๐Ÿ”ธ ์ปดํฌ์ง“(Composite): ๋ถ„๊ธฐ์˜ ๋ฃจํŠธ๋ฅผ ์ •์˜ํ•˜๊ณ  ๊ทธ ๋ถ„๊ธฐ์˜ ๊ธฐ๋ณธ๊ทœ์น™(ํ๋ฆผ ์ œ์–ด์˜ ํ˜•ํƒœ, ์ž์† ๋ถ„๊ธฐ์˜ ์‹คํ–‰๋ฐฉ์‹)์„ ์ •์˜ํ•œ๋‹ค. ๋ชจ๋‘ ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋ถ„๊ธฐ๊ฐ€ ์‹คํ–‰์ด ๋œ..

(vcs) version control system / unreal ํŒŒ์ผ ๊ด€๋ฆฌํ•˜๊ธฐ / ํ•„์š” ์—†๋Š” ํŒŒ์ผ changeList์—์„œ ๋นผ๋Š” ๋ฐฉ๋ฒ•.
๐ŸŽฏ game engine/โ—ฝ ์–ธ๋ฆฌ์–ผ(unreal)2023. 1. 24. 01:50(vcs) version control system / unreal ํŒŒ์ผ ๊ด€๋ฆฌํ•˜๊ธฐ / ํ•„์š” ์—†๋Š” ํŒŒ์ผ changeList์—์„œ ๋นผ๋Š” ๋ฐฉ๋ฒ•.

1. ๊ตฌ๊ธ€์— gitignore์ด๋ผ๊ณ  ๊ฒ€์ƒ‰ํ•œ๋‹ค. ๊ฒ€์ƒ‰๊ฒฐ๊ณผ ๋งจ ์ฒซ๋ฒˆ์งธ ์‚ฌ์ดํŠธ์— ์ ‘์†ํ•œ๋‹ค. 2. Raw ํด๋ฆญ 3. ๋‹ค๋ฅธ ์ด๋ฆ„์œผ๋กœ ์ €์žฅ 4. vcs์— ์—ฐ๊ฒฐํ•œ ๊ฒฝ๋กœ์— ๊ฐ€์„œ ํŒŒ์ผ์ด๋ฆ„์„ ".gitignore" ์œผ๋กœ ๋ณ€๊ฒฝ ํ›„ ์ €์žฅ ๋ ! ๐Ÿ˜Š ๊นƒ์ด๋‚˜ ์†Œ์ŠคํŠธ๋ฆฌ์™€ ๊ฐ™์€ ๋ฒ„์ „์ปจํŠธ๋กค์‹œ์Šคํ…œ์— ๊ฐ€์„œ changelist๋ฅผ ํ™•์ธํ•ด๋ณด๋ฉด ๋œ๋‹ค.

3์ฐจ์› ๊ณต๊ฐ„์— ๋Œ€ํ•ด์„œ(์ขŒํ‘œ๊ณ„, ๋ณ€ํ™˜, ์นด๋ฉ”๋ผ, ๋ทฐ)
๐ŸŽฏ game engine/โ—ฝ ๊ฒŒ์ž„ ์ˆ˜ํ•™2022. 10. 27. 16:133์ฐจ์› ๊ณต๊ฐ„์— ๋Œ€ํ•ด์„œ(์ขŒํ‘œ๊ณ„, ๋ณ€ํ™˜, ์นด๋ฉ”๋ผ, ๋ทฐ)

1) 3์ฐจ์› ์ขŒํ‘œ๊ณ„ 3์ฐจ์› ๊ณต๊ฐ„์˜ ์„ธ ๊ธฐ์ € ์ถ• x,y,z์— ๋Œ€ํ•ด x → y → z → x → y ์˜ ์ˆœ์„œ๋กœ ์„ธ ์ถ•์ด ์ˆœํ™˜๋œ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด์ž. ์ขŒํ‘œ๊ณ„๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ x ์—์„œ y๋กœ ๊ฐ€๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์†์„ ์ ‘์—ˆ์„๋•Œ ์—„์ง€ ์†๊ฐ€๋ฝ์˜ ๋ฐฉํ–ฅ์ด๋‹ค. 2) 3์ฐจ์› ๊ณต๊ฐ„์˜ ๋ณ€ํ™˜ ํฌ๊ธฐ(Scale:S), ์œ„์น˜(Translation:T), ํšŒ์ „(Rotation:R) 3์ฐจ์› ๋ชจ๋ธ๋ง ํ–‰๋ ฌ๊ณฑ์˜ ์ˆœ์„œ๋Š” Matrix = TRS 3) ์นด๋ฉ”๋ผ ๊ณต๊ฐ„ ์นด๋ฉ”๋ผ์—๋Š” ํฌ๊ธฐ์˜ ๊ฐœ๋…์ด ์—†๊ธฐ ๋•Œ๋ฌธ์—, ์นด๋ฉ”๋ผ์˜ ํŠธ๋žœ์Šคํผ์€ ํฌ๊ธฐ ๋ณ€ํ™˜์„ ์ œ์™ธํ•œ ํšŒ์ „๊ณผ ์ด๋™๋ณ€ํ™˜์œผ๋กœ๋งŒ ๊ตฌ์„ฑ๋œ๋‹ค. ์นด๋ฉ”๋ผ์˜ ํŠธ๋žœ์Šคํผ์— ์ €์žฅ๋œ ์œ„์น˜ ๊ฐ’์„ T = (Tx, Ty, Tz)๋กœ ์ €์žฅํ•˜๊ณ , ๋กœ์ปฌ ์ถ• ๊ฐ’์„ ๊ฐ๊ฐ X = (Xx, Xy, Xz), Y = (Yx, Yy, Yz), Z = (Zx, Zy, ..

์‚ฌ์›์ˆ˜ (Quaternion/์ฟผํ„ฐ๋‹ˆ์–ธ)
๐ŸŽฏ game engine/โ—ฝ ๊ฒŒ์ž„ ์ˆ˜ํ•™2022. 10. 27. 15:00์‚ฌ์›์ˆ˜ (Quaternion/์ฟผํ„ฐ๋‹ˆ์–ธ)

์ตœ๋Œ€ํ•œ 3D ํšŒ์ „์— ๋Œ€ํ•ด์„œ ์ดํ•ดํ•˜๊ณ  ์‹ถ์–ด์„œ ์„œ์ ๊ณผ ๊ตฌ๊ธ€๋ง์„ ํ•˜๋ฉด์„œ ์ฟผํ„ฐ๋‹ˆ์–ธ์„ ์ดํ•ดํ•ด๋ณด๊ณ  ๋ธ”๋กœ๊ทธ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์‹ถ์—ˆ๋Š”๋ฐ…. ๊ฒฐ๋ก ๋งŒ ๋งํ•˜๋ฉด ์ˆ˜์‹๋งŒ ์•Œ๊ฒŒ ๋˜๊ณ  ์ดํ•ดํ•˜๋Š” ๊ฑด ํฌ๊ธฐํ–ˆ๋‹ค…. ใ…‹ใ…‹ ๋ˆˆ์— ๋ณด์ด์ง€ ์•Š๋Š” 4์ฐจ์›์„ ์ƒ์ƒํ•˜๊ธฐ๋„ ์–ด๋ ต๊ณ  4์ฐจ์›์„ 3์ฐจ์›์œผ๋กœ ๋น„์œ ํ•ด์„œ ์ˆ˜์‹์„ ์งœ๋Š” ๊ฒƒ๋„ ๋งŒ๋งŒ์น˜ ์•Š์•˜๋‹ค…. ์–ด๋–ป๊ฒŒ ์–ด๋–ป๊ฒŒ ํ•ด์„œ ์‚ฌ์› ์ˆ˜ ํšŒ์ „๊นŒ์ง€ ๊ฐ”๋Š”๋ฐ ๋“ฑ ๋ณต๊ฐ(isoclimic) ํšŒ์ „์ด ๋‚˜์˜ค๊ณ …. ํฌ๊ธฐํ–ˆ๋‹ค. ์ˆ˜ํ•™์ž ์œŒ๋ฆฌ์—„ ๋กœ์œˆ ํ•ด๋ฐ€ํ„ด์ด ๋„์ž…ํ•œ ์ˆ˜ ์ฒด๊ณ„, ๋ณต์†Œ์ˆ˜, ํ—ˆ์ˆ˜, ์ฟผํ„ฐ๋‹ˆ์–ธ์„ ์ดํ•ดํ•˜๊ธฐ ๋ณด๋‹ค๋Š” ์ž˜ ์‚ฌ์šฉ๋งŒ ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. ์•„๋ž˜๋Š” ์ฟผํ„ฐ๋‹ˆ์–ธ ์ดํ•ด๋ฅผ ํฌ๊ธฐํ•˜๋Š” ๊ณผ์ •(?)์ด๋‹ค. ํํ ์ˆ˜์‹์€ ๋‹ค ์ž˜ ์ ์–ด๋’€์œผ๋‹ˆ ๋„์›€์ด ๋˜๋ฉด ์ข‹๊ฒ ๋‹ค. โ€ป ์ฐธ๊ณ ๋„์„œ์™€ ์ฐธ๊ณ ์‚ฌ์ดํŠธ๋ฅผ ํ™•์ธํ•˜์‹œ๋ ค๋ฉด ๋”๋ณด๊ธฐ๋ฅผ ๋ˆŒ๋ ค์ฃผ์„ธ์š” ๋”๋ณด๊ธฐ [ ์ฐธ๊ณ ๋„์„œ ] http://www.ye..

(unity) ์ƒ๋ช…์ฃผ๊ธฐ,unity Lifecycle, ์ด๋ฒคํŠธ ํ•จ์ˆ˜์˜ ์‹คํ–‰ ์ˆœ์„œ, ์ฝ”๋ฃจํ‹ด
๐ŸŽฏ game engine/โ—ฝ ์œ ๋‹ˆํ‹ฐ(unity)2022. 9. 15. 16:32(unity) ์ƒ๋ช…์ฃผ๊ธฐ,unity Lifecycle, ์ด๋ฒคํŠธ ํ•จ์ˆ˜์˜ ์‹คํ–‰ ์ˆœ์„œ, ์ฝ”๋ฃจํ‹ด

1. ์ฃผ์š” ํ•จ์ˆ˜ ๊ฐ„๋‹จ ์ •๋ฆฌ Awake Start ํ•จ์ˆ˜ ์ „์— ํ˜ธ์ถœ๋˜๋ฉฐ ํ”„๋ฆฌํŒน์ด ์ธ์Šคํ„ด์Šคํ™” ๋œ ์งํ›„์— ํ˜ธ์ถœ. Start ์—…๋ฐ์ดํŠธ ์‹œ์ž‘ ์ง์ „ ์ตœ์ดˆ๋กœ ์‹คํ–‰. OnEnalbe ์˜ค๋ธŒ์ ํŠธ๊ฐ€ ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ์—๋งŒ ํ™œ์„ฑํ™” ์ง ํ›„ ์ด ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœ. FixedUpdate FixedUpdate ๋Š” ์ข…์ข… Update ๋ณด๋‹ค ๋” ์ž์ฃผ ํ˜ธ์ถœ๋จ. ํ”„๋ ˆ์ž„ ์†๋„๊ฐ€ ๋‚ฎ์€ ๊ฒฝ์šฐ ํ”„๋ ˆ์ž„๋‹น ์—ฌ๋Ÿฌ ๋ฒˆ ํ˜ธ์ถœ๋  ์ˆ˜ ์žˆ์Œ. ๋ชจ๋“  ๋ฌผ๋ฆฌ ๊ณ„์‚ฐ ๋ฐ ์—…๋ฐ์ดํŠธ๋Š” FixedUpdate ํ›„ ์ฆ‰์‹œ ๋ฐœ์ƒ. FixedUpdate ์˜ ์›€์ง์ž„ ๊ณ„์‚ฐ์„ ์ ์šฉํ•  ๋•Œ Time.deltaTime ๋งŒํผ ๊ฐ’์„ ๊ณฑํ•  ํ•„์š”๊ฐ€ ์—†์Œ. - ์ด์œ : FixedUpdate ๊ฐ€ ํ”„๋ ˆ์ž„ ์†๋„์™€ ๊ด€๊ณ„์—†์ด ์‹ ๋ขฐํ•  ์ˆ˜์žˆ๋Š” ํƒ€์ด๋จธ์—์„œ ํ˜ธ์ถœ๋˜๊ธฐ ๋•Œ๋ฌธ Update Update ๋Š” ํ”„๋ ˆ์ž„๋‹น ํ•œ ๋ฒˆ ํ˜ธ์ถœ. ํ”„๋ ˆ์ž„ ์—…๋ฐ..

(unity) ์†๋„์™€ ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ
๐ŸŽฏ game engine/โ—ฝ ์œ ๋‹ˆํ‹ฐ(unity)2022. 7. 12. 17:17(unity) ์†๋„์™€ ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ

์†๋„์™€ ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ Update( ) ๋ฉ”์„œ๋“œ๋Š” ํ‰๊ท ์ ์œผ๋กœ 1์ดˆ์— 60๋ฒˆ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๊ฒƒ์€ ํ‰๊ท ์ผ ๋ฟ ๊ฒŒ์ž„ ํ™”๋ฉด์„ ๊ฐฑ์‹ ํ•˜๋Š” ์ฃผ๊ธฐ๋Š” ์ปดํ“จํ„ฐ ์„ฑ๋Šฅ์— ์˜์กด์ ์ด๋ผ์„œ Update( )๊ฐ€ 1์ดˆ์— ๋ช‡ ๋ฒˆ ์‹คํ–‰๋ ์ง€๋Š” ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๊ฒƒ์€ ํ‰๊ท ์ผ ๋ฟ ๊ฒŒ์ž„ ํ™”๋ฉด์„ ๊ฐฑ์‹ ํ•˜๋Š” ์ฃผ๊ธฐ๋Š” ์ปดํ“จํ„ฐ ์„ฑ๋Šฅ์— ์˜์กด์ ์ด๊ธฐ ๋•Œ๋ฌธ์— Update๊ฐ€ 1์ดˆ์— ๋ช‡ ๋ฒˆ ์‹คํ–‰๋ ์ง€๋Š” ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Update( ) ๋ฉ”์„œ๋“œ์—์„œ ์ดˆ๋‹น ์ด๋™ ์†๋„๋‚˜ ํšŒ์ „ ์†๋„ ๋“ฑ ์‹œ๊ฐ„๊ณผ ๊ด€๋ จ๋œ ์ˆ˜์น˜๋ฅผ ๋‹ค๋ฃฐ ๋•Œ๋Š” ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ์„ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ปดํ“จํ„ฐ ์„ฑ๋Šฅ์— ๋”ฐ๋ผ ๊ฐ™์€ ์ฝ”๋“œ๊ฐ€ ๋‹ค๋ฅด๊ฒŒ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ์™€ ๊ด€๋ จ๋œ ํ”ํ•œ ํ˜„์ƒ์œผ๋กœ Pc๊ฒŒ์ด๋จธ๋“ค์ด 'ํ”„๋ ˆ์ž„ ์ œํ•œ'์„ ํ•ด์ œํ–ˆ์„ ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณ ์ • ํ”„๋ ˆ์ž„์ด 60์ธ ๊ฒŒ์ž„์ด ์žˆ๋‹ค๊ณ ..

(unity) GetComponent, GetAxis, OnTriggerEnter, OnCollisionEnter, FindObjectOfType
๐ŸŽฏ game engine/โ—ฝ ์œ ๋‹ˆํ‹ฐ(unity)2022. 7. 12. 17:06(unity) GetComponent, GetAxis, OnTriggerEnter, OnCollisionEnter, FindObjectOfType

GetComponent( ) ๋ฉ”์„œ๋“œ ์›ํ•˜๋Š” ํƒ€์ž…์˜ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ž์‹ ์˜ ๊ฒŒ์ž„ ์˜ค๋ธŒ์ ํŠธ์—์„œ ์ฐพ์•„์˜ค๋Š” ๋ฉ”์„œ๋“œ์ž…๋‹ˆ๋‹ค. Rigidbody = GetComponent(); โ€ป ์ œ๋„ค๋ฆญ: GetComponent ( ) ๋ฉ”์„œ๋“œ์—์„œ ์‚ฌ์šฉํ•œ ๊บฝ์‡  ๋Š” ์ œ๋„ค๋ฆญ(Generic)๊ธฐ๋ฒ•์ž…๋‹ˆ๋‹ค. ์ œ๋„ค๋ฆญ์€ ๋ฉ”์„œ๋“œ๋‚˜ ํด๋ž˜์Šค๊ฐ€ ์—ฌ๋Ÿฌ ํƒ€์ž…์— ํ˜ธํ™˜๋˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ๊บฝ์‡  ์•ˆ์— ์›ํ•˜๋Š” ํƒ€์ž…์„ ๋ช…์‹œํ•˜๋ฉด ํด๋ž˜์Šค๋‚˜ ๋ฉ”์„œ๋“œ๊ฐ€ ํ•ด๋‹น ํƒ€์ž…์— ๋งž์ถฐ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ œ๋„ค๋ฆญ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ๊ฐ™์€ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ์—ฌ๋Ÿฌ ํƒ€์ž…์˜ ๋ฉ”์„œ๋“œ๋‚˜ ํด๋ž˜์Šค๋ฅผ ์ผ์ผ์ด ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. (์ด๋™) GetAxis( ) ๋ฉ”์„œ๋“œ ์–ด๋–ค ์ถ•์— ๋Œ€ํ•œ ์ž…๋ ฅ๊ฐ’์„ ์ˆซ์ž๋กœ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฉ”์„œ๋“œ์ž…๋‹ˆ๋‹ค.Input.GetAxis( ) ๋ฉ”์„œ๋“œ๋Š” ์ถ•์˜ ์ด๋ฆ„์„ ๋ฐ›์Šต๋‹ˆ๋‹ค. ์ด ์ŠคํŠธ๋ง์€ ์ž…๋ ฅ ๋งค๋‹ˆ์ € ์„ค์ ˆ ์ฐฝ์—์„œ ์ˆ˜์ •๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๊ฒฝ..

(unity) MonoBehaviour? ๋ฉ”์„ธ์ง€ ๊ธฐ๋ฐ˜ ๋ฐฉ์‹? ์œ ๋‹ˆํ‹ฐ ์ด๋ฒคํŠธ ๋ฉ”์„œ๋“œ?
๐ŸŽฏ game engine/โ—ฝ ์œ ๋‹ˆํ‹ฐ(unity)2022. 7. 11. 18:26(unity) MonoBehaviour? ๋ฉ”์„ธ์ง€ ๊ธฐ๋ฐ˜ ๋ฐฉ์‹? ์œ ๋‹ˆํ‹ฐ ์ด๋ฒคํŠธ ๋ฉ”์„œ๋“œ?

๊ฒŒ์ž„ ์—”์ง„์—์„œ ๊ฒŒ์ž„ ์˜ค๋ธŒ์ ํŠธ๋Š” ๊ฒŒ์ž„ ์„ธ์ƒ์— ์กด์žฌํ•˜๋Š” ํ•˜๋‚˜์˜ ๋ฌผ์ฒด์ž…๋‹ˆ๋‹ค. ์œ ๋‹ˆํ‹ฐ๋Š” ๊ฒŒ์ž„์˜ค๋ธŒ์ ํŠธ๋ฅผ ์ปดํฌ๋„ŒํŠธ ํŒจํ„ด์„ ์‚ฌ์šฉํ•ด ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ปดํฌ๋„ŒํŠธ ํŒจํ„ด ํ˜น์€ ์ปดํฌ์ง€์…˜(composition) ํŒจํ„ด์ด๋ž‘ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด์ง„ ๋ถ€ํ’ˆ์„ ์กฐ๋ฆฝํ•˜์—ฌ ์™„์„ฑ๋œ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์ปดํฌ๋„ŒํŠธ ๋ฐฉ์‹์€ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด์ง„ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋นˆ ๊ป๋ฐ๊ธฐ์ธ ๊ฒŒ์ž„ ์˜ค๋ธŒ์ ํŠธ์— ์กฐ๋ฆฝํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋˜๋ฉด ์œ ์—ฐํ•˜๊ฒŒ ์žฌ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๊ณ , ๊ธฐํš์ž์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ์˜์กด๋„๊ฐ€ ๋‚ฎ์•„์ง€๋ฉฐ ๋…๋ฆฝ์„ฑ ๋•๋ถ„์— ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ์‚ญ์ œ๊ฐ€ ์‰ฝ์Šต๋‹ˆ๋‹ค. MonoBehaviour? ์œ ๋‹ˆํ‹ฐ์˜ ๋ชจ๋“  ์ปดํฌ๋„ŒํŠธ๋Š” monobehaviour ํด๋ž˜์Šค๋ฅผ ์ƒ์†ํ•ฉ๋‹ˆ๋‹ค. MonoBehaviourํด๋ž˜์Šค๋Š” ์œ ๋‹ˆํ‹ฐ์—์„œ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด ์ œ๊ณตํ•˜๋Š” ํด๋ž˜์Šค์ด๋ฉฐ ์ปดํฌ๋„ŒํŠธ์— ํ•„์š”ํ•œ ๊ธฐ๋ณธ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, MonoBehavi..

(unity/warning CS0108, NullReferenceException)
๐ŸŽฏ game engine/โ—ฝ ์œ ๋‹ˆํ‹ฐ(unity)2022. 4. 18. 01:04(unity/warning CS0108, NullReferenceException)

๋งจ๋‚  ๋‹ค๋ ‰๋งŒ ํ–ˆ๋Š”๋ฐ ์œ ๋‹ˆํ‹ฐ ํ•˜๋ ค๋‹ˆ ๋„ˆ๋ฌด ์–ด๋ ต๋„ค์š”@_@...๋„ค๋น„๋ฉ”์‰ฌ ์ธ๊ฐ•๋“ค์œผ๋ฉด์„œ ๋”ฐ๋ผ ์ณค๋Š”๋ฐ ์„ ์ƒ๋‹˜์€ ์ž˜๋˜๋Š”๋ฐ ๋‚˜๋Š” warning ๋– ์„œ ๊ณ ์ƒํ•œ.. ๊ฒฝ๊ณ ๋ฌธ๊ณผ NullReferenceException ์—๋Ÿฌ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.. 1. warning CS0108: 'ControlCharacter.camera' hides inherited member 'Component.camera'. Use the new keyword if hiding was intended. ๋ณ€์ˆ˜ ์ด๋ฆ„์— ์—ฐ๋‘์ƒ‰์œผ๋กœ ~~~~~~~ ํ‘œํ˜„ํ•˜๋ฉด์„œ ๊ฒฝ๊ณ ๋ฅผ ์•Œ๋ฆฌ๊ณ  ์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. "camera"๋ผ๋Š” ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋ง๋ผ๋Š” ๊ฒฝ๊ณ ์ž…๋‹ˆ๋‹ค. ์ •๋ง ๊ฐ„๋‹จํ•˜๊ฒŒ "_camera" ์ด๋Ÿฐ ์‹์œผ๋กœ ๋ณ€์ˆ˜ ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•˜๋ฉด ๊ฒฝ๊ณ ๊ฐ€ ์‚ฌ๋ผ์ง‘๋‹ˆ๋‹ค. c++์—์„œ ์‚ฌ..

728x90
image