Blueprint 라이브세션 2회차
기초 세팅
BP_Character → Auto Posses Player → Player 0 설정
Mesh Detail
- Lotation, Rotation,은 원하는대로 자유롭게 설정
- Animation Mode → Use Animation Asset
- Anim to Play → FP_Rifle_Idle

BP_Character → Auto Posses Player → Player 0 설정
Mesh Detail
Fab 사이트는 언리얼 엔진에서 사용할 수 있는 3D 모델, Materials, 애니메이션, 사운드, 블루프린트 등의 애셋들을 다양한 콘텐츠를 구매하거나 무료로 다운받아 프로젝트에 사용할 수 있다.
호환(지원)되는 버전을 잘 보고 다운로드를 해야한다.
2주에 한번 혹은 한달에 한번 유료 애셋을 무료로 기한 한정으로 배포하니 자주 확인하자
0시간 ~ 5시간 59분 - 결석처리
6시간 ~ 11시간 59분 - 지각/조퇴/외출
12시간 이상 - 출석
지각/조퇴/외출 3회 시 결석 처리
본인 부주의로 인한 미입실/미퇴실은 인증 불가
hrd.net 어플의 QR코드 인증으로 입실 및 퇴실 처리
QR에서 문제가 생긴다면 출결 기록하기 페이지를 들어가 관리 가능
Unreal 기초 학습 자료 모음집과 Unreal 게임개발종합반 강의를 같이 정리함
주로 텍스트나 이미지와 같은 정적진 콘텐츠를 전송한다. (동적 컨텐츠도 처리가능)
빠르고 간단한 데이터 처리로 다수의 사용자에게 정보를 쉽게 제공하는 것이 목적
웹 서버와는 다르게 실시간 상호작용과 복잡한 데이터를 다룬다.
사용자가 게임에서 움직일 때 다른 사용자에게도 즉시 그 움직임이 반영되어야한다.
이러한 상호작용을 원활하게 하기 위해 게임 서버는 많은 사용자의 상태와 게임 데이터를 동시에 처리해야 한다.
여러 명이 동시에 접속하고 위치, 아이템, 캐릭터 상태 등 복잡한 데이터를 빠른 속도로 처리하기 위해 서버 성능이 중요하며 일반적으로 웹 서버보다 복잡한 시스템을 갖추고 있다.
주저리주저리..
tistory.. velog.. 개인도메인페이지... 깃허브페이지.. 등 예전에 여기저기 왔다갔다하면서 글을 썼었는데 이제는 깃허브홈페이지로 정착을 해야겠다.
개발을 놓은 세월동안 깃허브페이지를 관리하는 파일이나 컴포넌트들 구조방식이 많이 바뀐탓일지 이전에 했던 것들이 더 이상 동작되지않아 많은 파일들을 가감히 버렸다. (삭제한건아니다!)
이틀 뒤 캠프가 본격적으로 시작하기 전, 베이스캠프라는 곳을 왔는데.. 시간이 얼마 없지만 조금이나마 기초의 기초라도 익혀서 본 캠프 시작을 해야겠다.
코드 전체입니다.
exportData로 엑셀 다운로드를 할 수 있습니다.
타입이 지저분하고 any가 많은데..
// functions.ts
const wrapCsvValue = (
val: string,
formatFn?: (arg0: string, arg1: RowData | undefined) => string | undefined,
row?: RowData,
) => {
let formatted = formatFn ? formatFn(val, row) : val;
formatted =
formatted === undefined || formatted === null ? "" : String(formatted);
formatted = formatted.split('"').join('""');
return `"${formatted}"`;
};
export const exportData = (columns: any, rows: any) => {
const content = [
columns.map((col: { label: string }) => wrapCsvValue(col.label)),
]
.concat(
rows.map((row: { [x: string]: any }) =>
columns
.map((col: any) => {
const value =
typeof col.field === "function"
? col.field(row)
: row[col.field === void 0 ? col.name : col.field];
if (value instanceof Date || dayjs.isDayjs(value)) {
return wrapCsvValue(
dayjs(value).format("YYYY.MM.DD HH:mm"),
col.format,
row,
);
}
return wrapCsvValue(value, col.format, row);
})
.join(","),
),
)
.join("\r\n");
const bom = "\uFEFF";
const status = exportFile("table-export.csv", bom + content, "text/csv");
if (status !== true) {
commonNotify(
{
message: "Browser denied file download...",
},
"negative",
);
}
};
SPA를 S3 - Cloudfront 로 배포하였을때 path가 / 가 아닌 페이지에서 새로고침을 하면 404에러가 반환되는데 이를 해결하기 위한 방법이다.
Cloudfront -> 배포 선택 -> 오류 페이지 에서 사용자 정의 오류 응답 생성 을 눌러서 400, 403, 404 에러코드에 대한 응답 페이지 경로는 / 로 설정, HTTP 응답 코드는 200으로 설정해두면 된다.
해당 이슈는 에러라고 하긴 뭐하지만, 스토어에 앱을 출시할 때 개인정보처리방침, 이용약관 등을 확인시켜주어야 하는데 봇들은 404에러코드가 반환되면 페이지가 없다고 판단하여 리젝 처리를 해버리기때문이다.
모든 과정에서 다운로드 버튼이 있다면 다운로드를 해주세요.
사용자 이메일 주소를 입력해주고, 요청 항목에 디스크에 저장됨, 본인이 키 쌍 정보 지정 을 선택해주고 완료해줍니다.
애플 개발자 페이지로 들어가서 Certificates, Identifiers & Profiles 를 들어가주세요.
Certificates 에서 IOS Distribution (App Store Connect And Ad Hoc)을 체크하고 Continue를 해주세요.
스토어에서 Xcode 설치
cocoapods 설치
$ brew install cocoapods
# or
$ sudo gem install cocoapods