드디어 2주차 교육 끝!! 크큭 ... 다음 주에도 열심히 해야지 ... 아이디어 정해지고 나면 그룹 월드 실습도 해봐야겠다 ...
log()
함수 사용log("Hello, world")
→ 콘솔이 없을 경우 Panel에서 키기 !변수
와 상수
상수 → 변하지 않는 값 ( 1, 2, 3 … ) 변수 → 변하는 값, local
키워드 이용 local number = 1
log(number) -- 1
number = 10
log(number) -- 10
→ 프로그램은 기본적으로 ‘순차' 구조 + 제어문을 통한 반복/조건for - do - end
local sum = 0
for count = 1, 10, 1 do -- 1부터 10까지 1의 간격
sum = sum + count
end
if - then - end
local sum = 0
for count = 1, 10, 1 do -- 1부터 10까지 1의 간격
if count % 2 == 0 then -- 짝수인 경우
sum = sum + count
end
end
log(sum) -- 30
Function( 함수 )
→ 어떠한 기능들을 모아둔 것Property
→ 해당 스크립트 내에서 전역적으로 사용되는 동적인 값자기 자신을 참조할 때는 self
를 사용 → self.property, self.function() 이용
-- property
number sum = 0
void OnBeginPlay() {
log("begin")
log("sum is" .. self.sum)
self.sum = 5
log("sum is" .. self.sum)
self.MyFunction()
}
create logic → 로직은 월드에 단 하나 존재 ! → 전역적으로 존재, 백그라운드 실행 …
MyFirstLogic {
Property:
Function:
}
void OnBeginPlay()
→ 가장 기본적인 세팅을 위한 함수… 게임 시작 시 동작create component → 엔티티에 해당 컴포넌트를 추가해야 작동함, 엔티티마다 작동!
MyFirstComponent {
Property:
Function:
Entity Event Handler:
}
OnUpdate()
→ 매 Frame마다 동작OnEndPlay()
→ 게임 종료 시 작동하는 함수self.Entity.
으로 다양한 컴포넌트 조작 및 데이터 공유 가능
void onBeginPlay() {
-- 데이터 가져오기
local myEntityPosition = self.Entity.TransformComponent.Position
-- 컴포넌트 데이터 조작
for count=1, 5, 1 do
myEntityPosition.x = myEntityPosition.x + 0.5
wait(1) -- 1초간 쉬게 됨
end
self.Entity.TransformComponent.Scale.x = 2
self.Entity.TransformComponent.Scale.y = 2
}
Github에서 버전 관리를 하고 협업을 하는 것처럼 MOD에서는 ‘그룹 월드'를 만들어서 실시간으로 프로젝트를 공유하며 함께 개발할 수 있음 !
MOD 사이트 내에서 만들기
탭에 들어간 다음 그룹 만들기
클릭해서 생성 !
→ 그룹 월드 탭에서 멤버 추가 및 월드 관리 가능 ! 프로필 이름, 코드 또는 이름#코드로 검색 하면 된다 ~
→ 그룹장과 개발 멤버 사이의 권한 차이가 많으니 유의하자 !
Panels
- Cooperations
패널을 키면 현재 실시간으로 함께 작업 중인 멤버를 확인할 수 있음
작업 중인 사람이 작업을 Check-In( 저장, Ctrl+s )
하기 전에는 다른 사람이 수정할 수 없음
→ 하나의 맵에 한 명의 편집자를 따지므로, 각자 다른 맵을 작업하면 문제 없음 !
편집 권한은 Workspace에서 캐릭터 모양을 눌러보면 확인 가능 … locked by 편집자명
Check Out
= 작업 시작, 오브젝트나 스크립트를 선택해서 들어가는 경우 자동적으로 됨
Check In
= 작업 종료, 직접 해야 함 ! ( Ctrl + s )
Bulk Check Out
& Bulk Check In
→ 여러 개의 엔티티, 혹은 상위 엔티티를 선택해 하위 엔티티 전체에 대한 Check Out & Check In 진행