๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก์ „์ฒด ๊ธ€ (165)

Today, I will

[Unreal, VR] Custom VR Pawn Blueprint

์šฐ์„  ๊ธฐ๋ณธ vr pawn์„ ๋ณต์ œํ•ด์ค€๋‹ค. ๋ณต์ œํ•œ My_VRPawn์—๋‹ค ์—ฌ๋Ÿฌ๊ฐ€์ง€ vr ํ”Œ๋ ˆ์ด์–ด ๊ธฐ๋Šฅ๋“ค์„ ์ปค์Šคํ…€ํ•ด์„œ ๋ฐ˜์˜ํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค. ! ๋ถ€๋ชจ ํด๋ž˜์Šค๋ฅผ ์บ๋ฆญํ„ฐํ˜•์œผ๋กœ ๋ฐ”๊พธ์–ด์ค€๋‹ค! ์™ผ์ชฝ, ์˜ค๋ฅธ์ชฝ ์—„์ง€ ์กฐ์ด์Šคํ‹ฑ์œผ๋กœ ์ด๋™, ํšŒ์ „ ์™ผ์ชฝ ์—„์ง€ ์กฐ์ด์Šคํ‹ฑ์œผ๋กœ๋Š” ์ด๋™์„ ๊ฒฐ์ •ํ•˜๊ฒŒ ํ•ด์ค€๋‹ค. ์˜ค๋ฅธ์ชฝ ์—„์ง€ ์กฐ์ด์Šคํ‹ฑ์œผ๋กœ๋Š” ํšŒ์ „์„ ๋‹ด๋‹นํ•˜๊ฒŒ ์„ค์ •ํ•ด์ค€๋‹ค. ์œ„์˜ panw ๊ตฌ์กฐ๋ฅผ ์ง์ ‘ ์บ๋ฆญํ„ฐ c++๋กœ ์ž‘์„ฑํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์•„๋ž˜์˜ ๊ธฐ๋ณธ ํ‹€์„ ๊ฐ€์ ธ๊ฐ€์•ผ ํ•œ๋‹ค. VR Origin ๊ตฌ์กฐ๋ฅผ ์บก์А ์ปดํฌ๋„ŒํŠธ ์•„๋ž˜์— ๋งŒ๋“ค์–ด์ฃผ๊ณ , ์นด๋ฉ”๋ผ์™€ ์™ผ์† ์˜ค๋ฅธ์† ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ๊ทธ ์•„๋ž˜์—๋‹ค๊ฐ€ ๊ณ„์ธต์ด๋™ ์‹œ์ผœ์ฃผ๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ์ด๋‹ค. VRCharacter.h // Fill out your copyright notice in the Description page of Project Sett..

Unreal 2023. 12. 21. 17:26
[Unreal, VR] VR์—์„œ Item grab(Hold) and Release๋ฅผ ์œ„ํ•œ ๋ธ”๋ฃจํ”„๋ฆฐํŠธ ์„ค์ •

์–ธ๋ฆฌ์–ผ์—์„œ vr ํ”„๋กœ์ ํŠธ๋ฅผ ํ•  ๋•Œ, ์ด๋ฏธ vr template๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฐธ๊ณ ํ•ด์„œ ๋งŒ๋“ค์–ด๋ณผ ์ˆ˜ ์žˆ๋‹ค. grabable Item ์ด๋ผ๋Š” class ํ†ตํ•ด ๋ธ”๋ฃจํ”„๋ฆฐํŠธ class๋ฅผ ๋งŒ๋“ค๊ณ , static mesh๋ฅผ ๋‹ฌ์•„์ค€๋‹ค. ์•„์ดํ…œ์„ '์žก์Œ'๊ณผ '๋†“์Œ'์— ๋Œ€ํ•œ ์ธํ„ฐํŽ˜์ด์Šค ๊ทœ์•ฝ์„ ๋งŒ๋“ ๋‹ค. ์ด๋•Œ '์žก์Œ'์—์„œ๋Š” ์•„์ดํ…œ์ด ํ”Œ๋ ˆ์ด์–ด์—๊ฒŒ ๋ถ™์„ ๋•Œ parent ๋ณ€๊ฒฝ์ด ์ผ์–ด๋‚˜์•ผ ํ•˜๋ฏ€๋กœ, inputs ๊ฐ’์— currnetController(์ž๋ฃŒํ˜• Motion Component) ๋ณ€์ˆ˜ ํ•˜๋‚˜๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ์ด๋ ‡๊ฒŒ ๋งŒ๋“  ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ grabable Item ์ƒ์†ํ•ด์ฃผ๋ฉด grabable Item์— ์ธํ„ฐํŽ˜์ด์Šค์˜ ํ•จ์ˆ˜๋“ค์ด ๋‚˜ํƒ€๋‚˜๊ฒŒ ๋œ๋‹ค. ๋ธ”๋ฃจํ”„๋ฆฐํŠธ ์ˆ™๋ จ๋„ ์ด์Šˆ๋กœ ์ฐพ๋Š”๋ฐ ์–ด๋ ค์›€์ด ์žˆ์—ˆ๋Š”๋ฐ, ๋…ธ๋“œ ๋™๊ทธ๋ผ๋ฏธ ์šฐํด๋ฆญ ํ›„ variable๋กœ ๋ณ€ํ™˜ํ•ด..

Unreal 2023. 12. 18. 16:36
[๊ทธ๋ž˜ํ”ฝ์Šค] ray tracing intersection with triangle (ray ๋ฐฉ์ •์‹๊ณผ ์‚ผ๊ฐํ˜•์˜ ๊ต์  ์ฐพ๊ธฐ)

์‚ผ๊ฐํ˜•๊ณผ ๋ ˆ์ดR์˜ ๊ต์  p๋ฅผ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ• ์˜ˆ์ œ: ๋ ˆ์ด r์€ ์›์  (0,0,0)์œผ๋กœ๋ถ€ํ„ฐ ์ถœ๋ฐœํ•˜๊ณ  ray์˜ ๋ฐฉํ–ฅ๋ฒกํ„ฐu๋Š” (0,0,-1)์ด๋‹ค. ์‚ผ๊ฐํ˜• a1a2a3์— ๋Œ€ํ•ด์„œ ์„ธ ๊ผญ์ง€์ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค๋ฉด, a1 = (-1, -1, -1) a2 = (1, -1, -1) a3 = (0, 1, -1) ๋ ˆ์ด์™€ ์‚ผ๊ฐํ˜•์˜ ๊ต์ฐจ์ ์„ ์ฐพ๊ธฐ ์œ„ํ•ด ๋ ˆ์ด์˜ ๋ฐฉํ–ฅ๊ณผ ์‚ผ๊ฐํ˜•์˜ ํ‰๋ฉด๊ณผ์˜ ๊ต์ฐจ์ ์„ ์ฐพ์•„์•ผ ํ•œ๋‹ค. ์‚ผ๊ฐํ˜•์˜ ํ‰๋ฉด ๋ฒ•์„  ๋ฒกํ„ฐ, ํ‰๋ฉด์˜ ๋ฐฉ์ •์‹ ๊ตฌํ•˜๊ธฐ : ์‚ผ๊ฐํ˜•์˜ ์„ธ ๊ผญ์ง€์ ์„ ์ด์šฉํ•˜์—ฌ ์šฐ์„  ์‚ผ๊ฐํ˜•์„ ํฌํ•จํ•˜๋Š” ํ‰๋ฉด์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ์„ธ ๊ผญ์ง€์ ์„ ์ด์šฉํ•˜์—ฌ ๋‘๊ฐœ์˜ ๋ฒกํ„ฐ๋ฅผ ๋งŒ๋“ค๊ณ , ์ด๋ ‡๊ฒŒ ๊ตฌํ•œ ๋‘ ๋ฒกํ„ฐ์˜ ์™ธ์ ์€ ํ‰๋ฉด์˜ ๋ฒ•์„  ๋ฒกํ„ฐ๊ฐ€ ๋œ๋‹ค. ํ‰๋ฉด ๋ฒ•์„  ๋ฒกํ„ฐ๋ฅผ ์ด์šฉํ•˜์—ฌ ํ‰๋ฉด์˜ ๋ฐฉ์ •์‹์„ ax+by+cz+d =0 ๊ผด๋กœ ๊ตฌ์„ฑํ•ด์ค€๋‹ค.โ€‹โ€‹ ํ‰๋ฉด๊ณผ ๋ ˆ์ด์˜..

[๋””์ž์ธ ํŒจํ„ด] ์˜ต์ €๋ฒ„ ํŒจํ„ด crowd ๊ตฐ์ค‘ ์‹œ๋ฎฌ๋ ˆ์ด์…˜

์˜ต์ €๋ฒ„ ํŒจํ„ด์€ ๊ฐ์ฒด ๊ฐ„์˜ ์ผ๋Œ€๋‹ค ์˜์กด์„ฑ์„ ์ •์˜ํ•˜๋Š” ๋””์ž์ธ ํŒจํ„ด์œผ๋กœ, ํ•˜๋‚˜์˜ ๊ฐ์ฒด๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ๋‹ค๋ฅธ ๊ฐ์ฒด๋“ค์ด ๋ฐ˜์‘ํ•ด์•ผํ•  ๊ฒฝ์šฐ์— ๋งค์šฐ ์œ ์šฉํ•˜๋ฏ€๋กœ ๊ตฐ์ค‘ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์— ์ ์ ˆํ•˜๊ฒŒ ์“ฐ์ผ ์ˆ˜ ์žˆ๋‹ค. ๋ฌด๋Œ€ ์œ„์˜ ๋ฐฐ์šฐ์™€ ๊ทธ๊ฒƒ์„ ๋ฐ”๋ผ๋ณด๋Š” ๊ด€๊ฐ์˜ ๋น„์œ ๊ฐ€ ์•Œ๋งž์€ ํŒจํ„ด์ด๋‹ค. ๊ด€๊ฐ์€ ์„œ๋กœ์„œ๋กœ์˜ ์ •๋ณด๋ฅผ ์•Œ์ง€ ๋ชปํ•ด๋„ ์ƒ๊ด€์—†๋‹ค. ๋‹ค๋งŒ ๋ฐฐ์šฐ๋Š” ์–ด๋–ค ๊ด€๊ฐ๋“ค์—๊ฒŒ ์—ฐ๊ธฐ๋ฅผ ํŽผ์น˜๋Š”์ง€๋งŒ ์•Œ๊ณ  ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์˜ต์ €๋ฒ„ ํŒจํ„ด ๊ตฌํ˜„์˜ ํ•ต์‹ฌ์€, 1) ๋ฐฐ์šฐ๋Š” ๊ด€๊ฐ๋“ค์„ ์•Œ๊ณ  ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฐฐ์šฐ๊ฐ€ ๋  ํด๋ž˜์Šค์—์„œ ์˜ต์ €๋ฒ„ ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋ฐฐ์—ด์„ ๋“ค๊ณ  ์žˆ๋‹ค. 2) ๊ด€๊ฐ๋“ค์€ ์˜ต์ €๋ฒ„๊ฐ€ ๋˜์–ด์•ผ ํ•˜๋ฏ€๋กœ ์˜ต์ €๋ฒ„ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ƒ์†๋ฐ›๊ณ , ์ธํ„ฐํŽ˜์ด์Šค ์ •์˜๋ถ€์— ์žˆ๋Š” ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉด์„œ ์–ด๋–ค ํ–‰์œ„๋ฅผ ํ• ์ง€ ๊ฒฐ์ •ํ•œ๋‹ค. 3) ๋ฐฐ์šฐ๊ฐ€ ํŠน์ • ํ–‰์œ„๋ฅผ ํ•  ๋•Œ ์˜ต์ €๋ฒ„๋“ค์—๊ฒŒ Notiftํ•œ๋‹ค. ํŒŒ์ด์ฌ์œผ๋กœ ์ž‘์„ฑ..

Design Pattern 2023. 12. 12. 16:42
[๋””์ž์ธ ํŒจํ„ด] ๋‹ค์–‘ํ•œ ์ธํ„ฐ๋ž™์…˜์„ ์œ„ํ•œ Unreal ์ธํ„ฐํŽ˜์ด์Šค ํ™œ์šฉ

์ธํ„ฐํŽ˜์ด์Šค๋Š” '์„œ๋กœ ๊ด€๋ จ๋˜์ง€ ์•Š์€ ํด๋ž˜์Šค๋“ค'์ด ๊ณตํ†ต ํ•จ์ˆ˜ ํ˜น์€ ๊ณตํ†ต ํ•จ์ˆ˜ ์„ธํŠธ๋ฅผ ๊ตฌํ˜„ํ•˜๋„๋ก ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•œ๋‹ค. ๋‹ค์‹œ ๋งํ•ด, ์ธํ„ฐํŽ˜์ด์Šค ํด๋ž˜์Šค๋Š” ๋‹ค์–‘ํ•œ ํด๋ž˜์Šค๋“ค์ด ๋น„์Šทํ•œ ๊ธฐ๋Šฅ์„ ๊ณต์œ ํ•˜๋„๋ก ๋•๋Š” ์œ ์šฉํ•œ ๋„๊ตฌ๋กœ, ์„œ๋กœ ๋‹ค๋ฅธ ํด๋ž˜์Šค๋“ค์ด ๋™์ผํ•œ ํ•จ์ˆ˜๋“ค์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค. ex ) ์ธํ„ฐํŽ˜์ด์Šค ํ•จ์ˆ˜๋กœ Call()์ด ์žˆ๋‹ค๋ฉด Computer, IPhone, TV, Galaxy ํด๋ž˜์Šค์— ํ•ด๋‹น ์ธํ„ฐํŽ˜์ด์Šค ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค. ์‹ฌ์ง€์–ด ๋ƒ‰์žฅ๊ณ ์—๋„ Call()์„ ๋ถ™์ผ ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ด€๋ จ์ด ์—†์–ด ๋ณด์ด๋Š” ํด๋ž˜์Šค๋“ค๋„ ํ˜ธํ™˜๊ฐ€๋Šฅํ•ด์ง€๋ฉฐ, ํŠน์ • ๊ธฐ๋Šฅ์„ ๊ณต์œ ํ•˜๊ฒŒ ๋œ๋‹ค ์ด๋Ÿฌํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์–ธ๋ฆฌ์–ผ์—์„œ ๋ผ์ธํŠธ๋ ˆ์ด์Šค๋ฅผ ํ†ตํ•ด ์ธํ„ฐ๋ž™์…˜ํ•ด์•ผํ•˜๋Š” ๋‹ค์–‘ํ•œ ์˜ค๋ธŒ์ ํŠธ๋“ค์— ์ €๋งˆ๋‹ค์˜ ์ด๋ฒคํŠธ๋ฅผ ์‹ฌ๊ณ  ์‹ถ์„ ๋•Œ ์ ์ ˆํ•˜๊ฒŒ ํ™œ์šฉํ•ด๋ณผ ์ˆ˜ ์žˆ๋‹ค...

Design Pattern 2023. 12. 12. 15:56
[๋””์ž์ธ ํŒจํ„ด] ์ƒํƒœ๊ณ„ ์กฐ์„ฑ์— ์œ ๋ฆฌํ•œ ์ถ”์ƒ ํŒฉํ† ๋ฆฌ Abstract Factory

ํ˜„์‹ค ํ˜น์€ ๊ฒŒ์ž„ ์ƒํƒœ๊ณ„ ๋‚ด์—๋Š” ํ•˜๋‚˜์˜ ์ข…, ๋‹จ์ผ ๊ฐœ์ฒด๊ตฐ๋งŒ ์žˆ๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. ์ˆ˜์—†์ด ๋งŽ์€ ๊ฐœ์ฒด๊ตฐ๋“ค์ด ์ƒํ˜ธ ์ž‘์šฉ์„ ํ•˜๋ฉด์„œ ์‚ด์•„๊ฐ€๊ณ  ์žˆ์œผ๋ฉฐ, ์ด๋Ÿฌํ•œ ๊ฐœ์ฒด๊ตฐ๋“ค์˜ ๋ชจ์ž„์„ ๊ตฐ์ง‘์ด๋ผ๊ณ ๋„ ํ•œ๋‹ค. ์ƒ๋ฌผ ๊ตฐ์ง‘์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์ƒ์‚ฐ์ž, ์†Œ๋น„์ž, ๋ถ„ํ•ด์ž๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ์ƒ์‚ฐ์ž๋Š” ๊ด‘ํ•ฉ์„ฑ์„ ํ†ตํ•ด ์œ ๊ธฐ๋ฌผ์„ ํ•ฉ์„ฑํ•˜๋ฉฐ ์†Œ๋น„์ž๋Š” ์ƒ์‚ฐ์ž๊ฐ€ ํ•ฉ์„ฑํ•œ ์œ ๊ธฐ๋ฌผ์„ ๋จน๊ณ  ์‚ฐ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ ๋ถ„ํ•ด์ž๋Š” ์ƒ์‚ฐ์ž๋‚˜ ์†Œ๋น„์ž์˜ ์‚ฌ์ฒด๋ฅผ ๋ถ„ํ•ดํ•œ๋‹ค. ์ด๋“ค ์‚ฌ์ด์—๋Š” ์„œ๋กœ ๋จน๊ณ  ๋จนํžˆ๋Š” ๋จน์ด ์‚ฌ์Šฌ์ด ํ˜•์„ฑ๋˜๊ณ , ํ•œ ํฌ์‹์ž๊ฐ€ ์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ๋จน์ด๋ฅผ ๋จน๊ธฐ ๋•Œ๋ฌธ์— ๋จน์ด ์‚ฌ์Šฌ์ด ๋”์šฑ ๋ณต์žกํ•˜๊ฒŒ ์–ฝํ˜€ ๋จน์ด ๊ทธ๋ฌผ์ด ๋œ๋‹ค. ๊ตฐ์ง‘ ๋‚ด์—์„œ ๊ฐ ๊ฐœ์ฒด๊ตฐ์˜ ์œ„์น˜๋ฅผ ์ƒํƒœ์  ์ง€์œ„๋ผ๊ณ  ํ•œ๋‹ค. ๊ฐ ๋จน์ด ์‚ฌ์Šฌ ๋ณ„๋กœ ๋งค์šฐ ๋‹ค์–‘ํ•œ ๊ฐœ์ฒด๊ฐ€ ์กด์žฌํ•œ๋‹ค. ์ฐธ๊ณ : https://janghoa.tistory.com/169..

Design Pattern 2023. 12. 11. 16:32