언리얼스크립트
1. 개요
언리얼스크립트는 언리얼 엔진 게임 프로그래밍을 위해 설계된 고수준 스크립트 언어이다. Java와 유사하게 다중 상속을 지원하지 않으며, 대소문자를 구분하지 않고 기본형 객체 래퍼 클래스를 갖지 않는다. 언리얼 엔진 3 및 일부 언리얼 엔진 2 게임에서 인터페이스를 지원하며, ZZT-oop를 개발한 팀 스위니에 의해 인터프리터가 프로그래밍되었다. 언리얼스크립트는 게임 개발 생산성을 향상시키고 모딩 커뮤니티 활성화에 기여했다.
| 이름 | UnrealScript (언리얼스크립트) |
|---|---|
| 파일 확장자 | .uc, .uci, .upkg |
| 설계자 | (팀 스위니) |
| 개발자 | (팀 스위니) |
| 출시일 | 1998년 |
| 형 시스템 | 정적, 강력, 안전 |
| 웹사이트 | udn.epicgames.com |
| 패러다임 | 객체 지향 프로그래밍, 제네릭 프로그래밍 |
|---|---|
| 영향 받은 언어 | C++, Java (자바) |
| 운영 체제 | 크로스 플랫폼 |
-
3차원 컴퓨터 그래픽스 -
픽셀 셰이더
픽셀 셰이더는 렌더링 과정에서 픽셀의 색상을 계산하여 최종 모습을 결정하며, 텍스처, 빛, 그림자 등의 시각 효과를 구현하고, 다양한 언어로 프로그래밍되며, 그래픽 카드 및 칩셋은 지원하는 버전을 가진다. -
3차원 컴퓨터 그래픽스 -
모션 캡처
모션 캡처는 물체의 움직임을 디지털 데이터로 변환하는 기술로서, CG 영상 제작에 활용되며, 센서 부착 방식에서 마커리스 방식으로 발전하여 다양한 분야에 응용된다. -
스크립트 언어 -
Tcl
Tcl은 존 오스터하우트가 개발한 명령어 기반의 프로그래밍 언어로, Tk 툴킷과 결합하여 GUI 스크립팅 환경으로 발전했으며, 다양한 운영체제에서 사용 가능하고 C, C++, Java 등 다른 언어와의 인터페이스를 지원한다. -
스크립트 언어 -
PHP
PHP는 라스무스 러도프가 개발한 범용 스크립팅 언어로, 웹 개발에 널리 사용되며 LAMP 아키텍처의 핵심 요소이다.
2. 언어 특징
Java와 마찬가지로 언리얼스크립트는 다중 상속 클래스를 지원하지 않으며, 공통 객체 클래스를 상속하고 각 클래스 이름이 붙은 개별 파일로 정의되어 있다. Java와 다른 점은 언리얼스크립트는 대소문자를 구분하지 않으며, 기본형 객체 래퍼 클래스를 갖지 않는다는 점이다. 인터페이스는 언리얼 엔진 3 및 극히 일부의 언리얼 엔진 2 게임에서 지원된다.
이 언어는 단순하고 고수준 프로그래밍 언어의 게임 프로그래밍을 위해 설계되었으며, 언리얼스크립트의 인터프리터는 ZZT-oop라고 불리는 초창기 게임 스크립트 언어를 개발한 팀 스위니에 의해 프로그래밍되었다. 게임을 더 쉽게 개선할 수 있게 함으로써, 언리얼스크립트는 언리얼을 개선하는 데 기여하는 인터넷상의 많은 사람들의 커뮤니티를 확대하는 데 기여했다.
2.1. 문법
Java와 마찬가지로 언리얼스크립트는 다중 상속 클래스를 지원하지 않으며, 공통 객체 클래스를 상속하고 각 클래스 이름이 붙은 개별 파일로 정의되어 있다. Java와 다른 점은 언리얼스크립트는 대소문자를 구분하지 않으며, 기본형 객체 래퍼 클래스를 갖지 않는다는 점이다. 인터페이스는 언리얼 엔진 3 및 극히 일부의 언리얼 엔진 2 게임에서 지원된다.
이 언어는 단순하고 고수준 프로그래밍 언어의 게임 프로그래밍을 위해 설계되었으며, 언리얼스크립트의 인터프리터는 ZZT-oop라고 불리는 초창기 게임 스크립트 언어를 개발한 팀 스위니에 의해 프로그래밍되었다. 게임을 더 쉽게 개선할 수 있게 함으로써, 언리얼스크립트는 언리얼을 개선하는 데 기여하는 인터넷상의 많은 사람들의 커뮤니티를 확대하는 데 기여했다.
2.1.1. 다중 상속 미지원
언리얼스크립트는 Java와 마찬가지로 다중 상속 클래스를 지원하지 않으며, 공통 객체 클래스를 상속하고 각 클래스 이름이 붙은 개별 파일로 정의되어 있다. Java와 다른 점은 언리얼스크립트는 대소문자를 구분하지 않으며, 기본형 객체 래퍼 클래스를 갖지 않는다는 점이다. 인터페이스는 언리얼 엔진 3 및 극히 일부의 언리얼 엔진 2 게임에서 지원된다.
3. Hello World 프로그램
언리얼스크립트로 작성된 Hello World 프로그램 예제는 다음과 같다.
```java
class HelloWorld extends GameInfo;
event InitGame( string Options, out string Error )
{
`log( "Hello, world!" );
}
```