마인크래프트 JE 1.21.6 기술적 업데이트 정리

2025. 6. 4. 00:32·마인크래프트 강좌/업데이트 정리
반응형

마인크래프트 자바에디션 1.21.6 – 기술적 업데이트 정리

해당 글은 마인크래프트 공식 스냅샷 & 프리릴리스 기사 및 마인크래프트 위키 정보를 바탕으로 1.21.6 주요 기술적 변경 사항을 정리한 것입니다. (1.21.6 정식 출시: 2025년 6월)

해당 글에는 AI가 사용되었습니다.


명령어(Commands)

대화상자 (/dialog - 신규 명령어)

플레이어에게 대화 상자를 띄우는 명령어입니다. 대화 상자는 minecraft:dialog 레지스트리에 저장되거나 인라인으로 정의할 수 있습니다. (실험적 기능)

/dialog show <대상> <dialog>

  • 대상 플레이어에게 대화 상자를 띄웁니다.
  • <대상>: 플레이어 이름, UUID 또는 플레이어 선택기입니다.
  • <dialog>: minecraft:dialog 레지스트리의 네임스페이스 ID 또는 인라인 대화 값입니다.
  • 대상 플레이어 수를 반환합니다.

/dialog clear <대상>

  • 대상 플레이어의 대화 상자를 닫습니다 (표시된 경우).
  • <대상>: 플레이어 이름, UUID 또는 플레이어 선택기입니다.
  • 대상 플레이어 수를 반환합니다.

/dialog show @s minecraft:custom_options 로 호출한 대화 상자입니다.

모든 대화 상자에는 위 경고 버튼이 뜨게 됩니다.

위치 표시기 (/waypoint - 신규 명령어)

위치 표시기에 사용되는 경유지를 탐색하고 수정하는 명령어입니다.

위치 표시기에 보이는 아이콘이 경유지입니다.

/waypoint list

  • 해당 차원의 경유지 엔티티 리스트를 출력합니다.
  • 출력에는 차원, 경유지 수와 각 경유지 엔티티의 플레이어 닉네임 또는 엔티티 유형을 웨이포인트 색상으로 출력합니다.
  • 만약 경유지 색상을 지정하지 않으면 흰색으로 표시됩니다.

/waypoint modify <엔티티> color <색>

  • 해당 엔티티의 경유지 색상을 설정합니다.
  • <색>은 마인크래프트 대화 구성요소의 기본 색상입니다.

/waypoint modify <엔티티> color hex <hex_색상>

  • 해당 엔티티의 경유지 색상을 16진수 색상으로 설정합니다. (예: 빨강 FF0000).

/waypoint modify <엔티티> color reset

  • 해당 엔티티의 색을 기본값으로 설정합니다 (랜덤 색상 또는 팀 색상).

/waypoint modify <엔티티> style set <스타일>

  • 리소스팩의 <스타일> 리소스 경로에서 경유지 스타일을 가져와 설정합니다.
  • 기본값은 minecraft:default입니다.
  • 게임은 경로를 확인하지 않으며, 파일을 찾지 못하면 경유지에 미싱 텍스처가 설정됩니다.

/waypoint modify <엔티티> style reset

  • 경유지 스타일을 기본값으로 설정합니다. 위치 표시기의 기본 아이콘 동작을 복원합니다.

경유지 정보를 설정하면 list에 출력은 되나 속성의 transmit_transimit_range, transmit_receive_range에 따라 보이지 않을 수 있습니다.

버전 정보 출력 (/version - 신규 명령어)

  • 서버의 게임 버전 정보를 출력합니다. (인수 없음)
  • 클라이언트의 F3 + V (클라이언트 버전 정보 출력)에 해당하는 서버 버전입니다.
  • OP 권한이 있거나 싱글플레이일 경우 사용 가능합니다.
  • 출력 예시는 다음과 같습니다:
Server version info: 
id = 25w17a 
name = 25w17a 
data = 4425 
series = main 
protocol = 1073742071 (0x400000f7) 
build_time = Wed Apr 23 00:48:34 NZST 2025 
pack_resource = 58 
pack_data = 74 
stable = no
  • 각 필드의 의미는 다음과 같습니다:
    • ID: 버전 ID 문자열입니다.
    • Name: 사용자 친화적인 버전 이름입니다 (일반적으로 ID와 동일).
    • Data: 데이터 버전입니다.
    • Series: 게임이 파생된 브랜치를 식별합니다 (기본값: "main").
    • Protocol: 프로토콜 버전입니다.
    • Build time: 버전 빌드 타임스탬프입니다 (로컬 시간대).
    • Pack resource: 리소스 팩 형식 버전입니다.
    • Pack data: 데이터 팩 형식 버전입니다.
    • Stable: 정식 버전은 "yes", 개발 버전은 "no"입니다.

데이터팩 생성 - /datapack create (신규 형식)

/datapack create <id> <이름>

  • 현재 월드에 빈 데이터팩을 생성합니다.
  • 지원되는 팩 버전은 항상 게임에서 지원하는 버전과 동일하게 설정됩니다.
  • 서버 소유자만 사용 가능합니다.
  • <id>: 새 팩 이름입니다 (유효한 디렉토리 이름이어야 합니다).
  • <이름>: pack.mcmeta의 설명에 배치될 텍스트 구성 요소입니다.

확인 결과 data 폴더와 pack.mcmeta 파일만 생성합니다.

새로운 카테고리 - /playsound (신규 형식)

  • 소리가 재생될 카테고리에 ui가 추가되었습니다. (/playsound <소리> ui)
    • 이 카테고리에서 재생되는 소리는 게임이 정지되어도 계속 재생됩니다. (music처럼)

게임 규칙(/gamerule)

  • locatorBar (신규 규칙)
    • 기본값은 true입니다 (서버의 경우).
    • 로케이터 바의 활성화 여부를 결정합니다.
    • 비활성화 시 모든 플레이어의 기존 웨이포인트가 모두 제거됩니다.

속성 (/attribute)

  • flying_speed (기존 속성, 적용 대상 변경)
    • 가스트는 이제 이 속성을 가지고 있으며 비행 속도를 설정합니다.
  • camera_distance (신규 속성)
    • 기본값은 4.0입니다.
    • 3인칭 시점에서 플레이어 또는 관전 중인 엔티티로부터 카메라가 떨어져 있는 거리를 수정합니다.
    • 탑승 중인 엔티티가 더 큰 camera_distance 속성을 가지고 있다면 해당 거리가 사용됩니다.
    • 이 거리는 scale 속성과 곱해져 최종 목표 카메라 거리를 얻습니다.

부담스러워요

  • waypoint_transmit_range (신규 속성)
    • 기본값은 0.0, 최소값은 0.0, 최대값은 60,000,000.0입니다. (플레이어 기본값: 60,000,000)
    • 웨이포인트 전송 범위를 설정합니다. 범위가 0보다 큰 몹은 근처 수신자에게 웨이포인트 정보를 보냅니다.
    • 예시는 /attribute @s minecraft:waypoint_transmit_range base set 0 (전송 중지, 숨김)입니다.
  • waypoint_receive_range (신규 속성)
    • 기본값은 0.0, 최소값은 0.0, 최대값은 60,000,000.0입니다. (플레이어 기본값: 60,000,000)
    • 웨이포인트 수신 범위를 설정합니다. 수신자는 범위가 0보다 클 때만 수신하며 이 범위를 벗어난 웨이포인트는 수신할 수 없습니다.
    • 예시는 /attribute @s minecraft:waypoint_receive_range base set 0 (수신 중지)입니다.

아이템 구성요소 변경

attribute_modifiers

  • attributes_modifiers 항목에 선택적 display 필드가 추가되었습니다.
  • 세 가지 표시 유형이 있습니다:
    • default: 계산된 속성 수정자 값을 툴팁에 표시하는 현재 동작입니다.
    • hidden: 속성 수정자 항목을 표시하지 않습니다.
    • override: 표시되는 속성 수정자 텍스트를 대체합니다.
      • value: 기존 속성의 텍스트를 대체하는 대화 구성요소입니다.
    • 예시
      • /give @p tnt[attribute_modifiers=[{id:"waypoint_receive_range",type:"waypoint_receive_range",amount:-10,operation:"add_multiplied_base",slot:"any",display:{type:"override",value:"TNT를 든 사람은 로케이트바를 볼 수 없습니다."}}]] 1

equippable

  • 새로운 선택적 필드 can_be_sheared (boolean)가 추가되었습니다.
    • true인 경우, 다른 모든 깎기 조건이 충족되면 플레이어는 가위를 사용하여 대상 몹을 마우스 오른쪽 버튼으로 클릭하여 이 장착 가능한 아이템을 제거할 수 있습니다.
    • 지정하지 않으면 기본값은 false입니다.
  • 새로운 선택적 필드 shearing_sound (sound event)가 추가되었습니다.
    • 장착 가능한 아이템을 깎을 때 재생되는 사운드 이벤트입니다.
    • 지정하지 않으면 기본값은 item.shears.snip 사운드 이벤트입니다.

painting/variant

  • 더 이상 인라인 JSON을 허용하지 않습니다. ID 참조만 가능합니다.

minecraft:profile

  • minecraft:head 모델에서 플레이어 텍스처 로딩 지원이 중단됩니다.
  • 대신 minecraft:player_head 모델에서 사용됩니다.

조작(Controls)

빠른 동작(Quick Action) 키 (기본값: G)

  • minecraft:quick_actions 대화 상자 태그로 구성된 대화 상자들을 띄웁니다.
    • 태그가 비어있으면 아무 작업도 수행하지 않습니다.
    • 단일 요소가 있으면 해당 대화 상자를 엽니다.
    • 여러 요소가 있으면 선택할 수 있는 minecraft:quick_actions 대화 상자로 연결됩니다. (기본적으로 이 태그는 비어 있습니다)

F3 + V: 클라이언트 측 버전 정보를 출력합니다.

엔티티

  • 투사체: 시간에 따라 변하는 목표 허용 오차 범위가 추가되었습니다 (초기 2틱은 오차 없음, 이후 틱당 0.05 블록씩 증가하여 최대 0.3 블록).

NBT 변경

  • 모든 몹: home_pos (IntArrayTag, 집 위치), home_radius (IntTag, 집 반경) NBT 필드가 추가되었습니다. 설정 시 해당 영역 내에서 경로 탐색이 제한됩니다.
  • area_effect_cloud:
    • Particle 필드가 custom_particle 필드로 변경되었습니다.
    • 항상 entity_effect 입자의 색을 정확히 재정의합니다.
      • 지정하지 않으면 필드를 사용하지 않습니다.
      • entity_effect 또는 tinted_leaves 입자 유형은 더 이상 물약 내용물에서 색상을 상속하지 않습니다.
  • tnt: TNT를 점화한 엔티티를 저장하는 선택적 owner 필드 (생명체 UUID)가 추가되었습니다.
  • 벡스: 벡스의 소유자를 저장하는 선택적 owner 필드 (몹 UUID)가 추가되었습니다.
  • 투척용 포션: 효과를 받는 엔티티까지의 거리가 엔티티 히트박스와 물약 히트박스 간 가장 가까운 거리에 따라 결정됩니다. 직접 맞으면 전체 효과를 받습니다.

게임플레이 변경점

로케이터 바

  • 월드의 다른 플레이어 방향을 표시하는 HUD UI 요소입니다. 경험치 바 위치에 표시됩니다.
  • 다른 숨겨지지 않은 플레이어가 한 명 이상 있는 서버에서 경험치를 얻고 있지 않을 때 표시됩니다.
  • 기본적으로 모든 플레이어는 자신으로부터 웨이포인트를 전송하고 모든 웨이포인트를 수신합니다.
  • 카메라가 웨이포인트 방향 120도 이내를 향할 때 색상 표시기가 표시됩니다. 위/아래 화살표로 높낮이를 표시합니다.
  • 팀 소속 플레이어/몹은 팀 색상으로 표시됩니다.
  • locatorBar 게임 규칙으로 토글 가능합니다.
  • 웅크리거나 머리 아이템 착용, 투명화 물약 효과 시 다른 플레이어의 로케이터 바에서 숨겨집니다.
  • 관전자는 다른 관전자에게만 표시됩니다.
  • 웨이포인트 아이콘은 거리에 따라 다른 스프라이트를 사용합니다. /waypoint modify ... style로 변경 가능합니다.
    • 기본 스타일 정의 예시는 {"near_distance": 128, "far_distance": 332, "sprites": ["minecraft:default_0", ...]}입니다.

기타 게임플레이 변경

  • 안개: 1인칭 손/아이템 등 3D HUD 요소에도 안개가 적용됩니다. 비가 올 때 안개가 더 짙어집니다.
  • 관전자 모드: 다른 차원으로 이동하는 엔티티를 따라 함께 순간이동하지만 관전은 중지됩니다.
  • 3인칭 시점: 특정 대형 몹(가스트, 엔더 드래곤, 자이언트) 관전 또는 탑승 시 3인칭 카메라 거리가 증가합니다.

데이터팩(Data Packs) – 버전 79

  • 팩 형식 버전은 79입니다.
  • 차원 유형 정의(Dimension Type definitions): 선택적 cloud_height 필드가 추가되었습니다 (해당 차원의 구름 시작 Y 레벨, 음수 가능, 기본값은 effects 필드에 따라 다릅니다).
  • 명령줄 인수: --quickPlaySingleplayer 인수를 식별자 없이 사용하여 마지막으로 플레이한 월드로 실행 가능합니다.
  • 명령 구문 보고서: 필요한 권한 수준에 대한 정보를 포함합니다.

발전과제

새로운 발전과제 트리거 (minecraft:player_sheared_equipment)

  • 플레이어가 엔티티의 장비를 가위로 제거하였을 경우 발동합니다.
  • 조건
    • item: 가위로 제거된 아이템입니다.
    • entity: 가위질된 엔티티입니다.

대화상자(Dialog) 파일 형식

대화 상자는 data/<namespace>/dialog/<id>.json 경로에 저장되며, minecraft:dialog 레지스트리를 통해 관리됩니다. 사용자 혼란을 피하기 위해 제목 옆에 경고 표시가 나타나며, 클릭 시 사용자 지정 콘텐츠임을 알리고 월드를 나갈 수 있는 옵션을 제공합니다.

더 자세한 내용은 새로운 글로 정리해오겠습니다.

  • 최상위 공통 필드:
    • type: minecraft:dialog_type 레지스트리의 대화 상자 유형 중 하나입니다.
    • title: 화면 제목입니다 (텍스트 구성 요소).
    • external_title (선택 사항): 이 대화 상자로 연결되는 버튼에 사용될 이름입니다 (예: 일시 중지 화면). 없으면 title을 사용합니다.
    • body (선택 사항): 본문 요소 목록 또는 단일 요소입니다.
    • can_close_with_escape (선택 사항, boolean): Escape 키로 닫을 수 있는지 여부입니다 (기본값: true).
    • pause (선택 사항, boolean): 싱글 플레이어 모드에서 게임을 일시 중지할지 여부입니다 (기본값: true).
    • after_action (선택 사항): 클릭 또는 제출 작업 후 수행되는 추가 작업입니다 (기본값: close).
      • close: 대화 상자를 닫고 이전 비-대화 상자 화면으로 돌아갑니다.
      • none: 아무것도 하지 않습니다 (현재 대화 상자 화면을 유지하며, pause가 false일 때만 가능합니다).
      • wait_for_response: "응답 대기 중" 화면으로 대체됩니다 (5초 후 "뒤로" 버튼이 활성화됩니다).
  • 일반적인 버튼 데이터:
    • label: 버튼 레이블입니다 (텍스트 구성 요소).
    • tooltip (선택 사항): 버튼 강조 또는 마우스오버 시 표시될 텍스트입니다.
    • width: 버튼 너비입니다 (양의 정수, 기본값: 150).
  • 작업 유형 (Action Types):
    • 정적 대화 상자: 기존 click_event 작업 대부분을 포함합니다 (예: show_dialog). 텍스트 구성 요소의 click_event와 동일한 형식을 사용하되 action 대신 type을 사용합니다.
    • minecraft:dynamic/run_command: 제공된 매크로 템플릿을 사용하여 run_command 이벤트를 빌드합니다. (template 필드)
    • minecraft:dynamic/custom: 모든 입력 값을 사용하여 minecraft:custom 이벤트를 빌드합니다. (id, additions 필드)
  • 대화 상자 유형 (Dialog Types):
    • minecraft:confirmation: '예/아니오' 두 가지 작업이 있는 간단한 화면입니다. (yes, no 필드)
    • minecraft:dialog_list: 다른 대화 상자로 직접 연결되는 버튼 목록입니다. (dialogs, exit_action, columns, button_width 필드)
    • minecraft:multi_action: 작업 목록입니다. (actions, exit_action, columns 필드)
    • minecraft:notice: 단일 작업이 있는 간단한 화면입니다. (action 필드)
    • minecraft:server_links: 서버에서 받은 링크 목록입니다. (이전 "서버 링크" 화면을 대체합니다)
  • 본문 유형 (Dialog Body Types):
    • minecraft:item: 아이템과 선택적 설명입니다. (item, description, show_decorations, show_tooltip, width, height 필드)
    • minecraft:plain_message: 여러 줄 레이블입니다. (contents, width 필드)
  • 입력 컨트롤 유형 (Input Control Types): (key 필드 공통)
    • minecraft:boolean: 체크박스입니다. (label, initial, on_true, on_false 필드)
    • minecraft:number_range: 슬라이더입니다. (label, label_format, width, start, end, step, initial 필드)
    • minecraft:single_option: 옵션 순환 버튼입니다. (label, label_visible, width, options 필드)
    • minecraft:text: 텍스트 입력 필드입니다. (width, label, label_visible, initial, max_length, multiline 필드)
  • 제출 작업 유형 (Submit Action Types): (id 필드 공통)
    • minecraft:command_template: 매크로 템플릿을 사용하여 명령 빌드 및 실행을 요청합니다. (template 필드)
    • minecraft:custom_form: 모든 값에서 사용자 지정 서버 클릭 작업을 빌드합니다. (id 필드)
    • minecraft:custom_template: 매크로 템플릿을 사용하여 사용자 지정 서버 클릭 작업을 빌드합니다. (template, id 필드)
  • 텍스트 구성 요소 클릭 이벤트:
    • minecraft:custom (신규): 클릭 시 minecraft:custom_click_action 패킷을 서버로 전송합니다 (id, payload (선택적 문자열 또는 NBT 태그) 필드). 모드 서버에서 사용자 지정 명령 없이 상호작용 가능하며, 바닐라 서버에서는 기능이 없습니다.
    • show_dialog (신규): 클릭 시 대화 상자를 엽니다 (dialog 필드 - ID 또는 인라인 값).
    • run_command: 실행 전 구문 분석이 불가하거나 높은 권한이 필요할 시 확인 메시지를 표시합니다.

대화 구성요소

클릭 이벤트

  • 책이나 채팅의 run_command 클릭 액션 실행 전, 명령을 구문 분석할 수 없거나 높은 권한(기본값 0 이상)이 필요한 경우 사용자에게 확인 메시지를 표시합니다.

  • 새로운 클릭 액션 minecraft:custom이 추가되었습니다.
    • 사용자가 이 클릭 액션이 있는 구성 요소를 클릭하면, 클라이언트는 서버로 전용 패킷 minecraft:custom_click_action을 전송합니다.
    • 이것은 모드 서버에서 사용자 지정 명령을 추가하는 것에 대한 걱정 없이 run_command의 대안으로 사용하도록 의도되었습니다.
    • 이 패킷은 바닐라 서버에서는 아무런 기능도 하지 않습니다.
    • 필드:
      • id: 네임스페이스 ID입니다.
      • payload: 선택적 문자열 필드입니다

대화 상자 클릭 이벤트

  • 새로운 대화 상자 클릭 이벤트 액션 show_dialog가 추가되었습니다.
  • 사용자가 이 구성 요소를 클릭하면, 사용자에게 새로운 대화 상자가 열립니다.
  • 필드:
    • dialog: minecraft:dialog 레지스트리의 네임스페이스 ID 또는 대화상자 JSON입니다.

태그 추가/변경

  • 블록:
    • #happy_ghast_avoids: 행복한 가스트가 피하는 블록입니다.
    • #triggers_ambient_desert_sand_block_sounds: 해당 블록들은 주변 사막 모래 소리를 유발합니다.
    • #triggers_ambient_dried_ghast_block_sounds: 말린 가스트 블록을 놓았을 때 주변에 있을 경우 말린 가스트 소리를 유발합니다.
    • #plays_ambient_desert_block_sounds → #triggers_ambient_desert_dry_vegetation_block_sounds (이름이 변경되었습니다).
  • 아이템:
    • #happy_ghast_food: 행복한 가스트에게 먹일 수 있는 아이템입니다.
    • #happy_ghast_tempt_items: 행복한 가스트를 유인하는 아이템입니다.
    • #harnesses: 모든 종류의 하네스입니다.
    • #horse_food에 당근이 추가되었습니다.
  • 엔티티:
    • #can_equip_harness: 하네스를 장착 가능한 엔티티입니다.
    • #followable_friendly_mobs: 가스트링이 따라갈 성체 엔티티입니다.
    • #dismounts_underwater, #fall_damage_immune에 happy_ghast가 추가되었습니다.대화 상자 태그
  • 대화 상자 (dialog)
    • #pause_screen_additions: 이 태그에 있는 대화 상자는 ESC 화면의 버그 제보하기, 서버 주소 버튼을 대체합니다.
    • #quick_actions: 빠른 동작(G키) 시 열리는 대화 상자입니다.

리소스팩(Resource Packs) – 버전 63

  • 팩 형식 버전은 63입니다.
  • UI, 모델 및 텍스처:
    • 블록 모델 회전(elements[].rotation.angle)이 더 이상 22.5도 배수로 제한되지 않고 -45도에서 +45도 사이의 모든 각도를 가질 수 있습니다.
    • 새로운 장비 에셋 레이어 유형 happy_ghast_body (행복한 가스트 몸체 슬롯 렌더링)가 추가되었습니다.
    • 아이템 모델 정의에 oversized_in_gui (boolean, 기본값 false) 필드가 추가되었습니다. true이면 GUI에서 아이템 슬롯보다 크게 렌더링을 허용합니다
    • 새로운 아이템 모델 minecraft:player_head가 도입되었습니다 (minecraft:profile 구성요소 사용, 플레이어 프로필 텍스처 로딩/렌더링). minecraft:head 모델은 더 이상 minecraft:profile을 지원하지 않습니다.
    • hud/locator_bar_arrow_up 및 hud/locator_bar_arrow_down 스프라이트가 이제 해당 .mcmeta 파일의 표준 애니메이션 정의로 애니메이션됩니다.
    • 파노라마 텍스처는 이제 모두 동일한 크기여야 하며 정사각형이어야 합니다.
    • mob_effects.png-atlas가 gui.png-atlas에 병합되어 더 이상 존재하지 않습니다 (상태 효과 스프라이트가 GUI 스프라이트 크기 조절 속성을 지원합니다).
    • icon/music_notes 및 toast/now_playing 스프라이트가 추가되었습니다.
    • 구름 텍스처(clouds.png)는 더 이상 색칠할 수 없습니다. 구름 패턴이 업데이트되었으며, 수평선까지 존재합니다.
    • .png.mcmeta 파일의 blur 텍스처 매개변수를 일관되게 반영합니다.
  • 글꼴(Fonts):
    • uniform 글꼴이 Unifont 16.0.03으로 업데이트되었습니다.
    • PUA(Private Use Areas)용 Unifont 글리프가 추가되었습니다 (minecraft:include/unifont_pua 하위 글꼴).
    • Unihex 글꼴 공급자: size_overrides 필드가 선택 사항으로 변경되었습니다 (기본값: 빈 목록).
  • 기타:
    • 모든 JSON 파일(월드, 팩, 구성 등)은 이제 엄격 모드로 구문 분석됩니다.

소리 관련 변경

  • 새로운 소리 이벤트가 추가되었습니다: entity.leashknot.break (끈 끊어질 때), 가위질 소리 (mob.horse.armor_unequip 등).
  • 일부 몹(발광 오징어, 오징어, 가디언, 말, 토끼, 복어)의 소리 파일 위치가 변경되었습니다 (entity 폴더 → mob 폴더).
  • 소리 이벤트 이름이 변경되었습니다: block.sand.wind → block.dry_grass.ambient 등.
  • 주변 사막 블록 소리 규칙이 조정되었습니다.

쉐이더(Shaders)

  • 모든 내장 유니폼은 이제 불투명한 개별 유니폼 대신 유니폼 블록(uniform blocks)입니다.
  • 후처리 셰이더에 제공되는 사용자 지정 유니폼은 이제 유니폼 블록입니다.
  • JSON 파일 내 유니폼 정의는 이제 블록당 정의됩니다.
  • 별과 하늘 상단 부분을 각각 렌더링하는 데 사용되는 두 개의 새로운 핵심 셰이더 stars와 sky가 추가되었습니다.

셰이더 안개(Fog)

  • 안개는 이제 환경 기반 안개와 렌더링 거리 기반 안개로 분리됩니다.
    • 이전에는 두 개념이 동일한 유니폼에 혼합되어 있었습니다.
    • 환경 안개는 플레이어가 있는 환경(용암, 물, 그리고 이제 대기)의 "안개 자욱함"을 나타냅니다.
    • 렌더링 거리 안개는 보이는 지형의 경계를 가리는 역할을 합니다.
  • 환경 안개는 구형 거리를 사용하여 강도를 결정하고, 렌더링 거리 안개는 원통형 거리를 사용합니다.
  • 주어진 정점에 대한 최종 안개 값은 두 가지 중 최대값입니다.

후처리 효과 정의 변경

  • targets 맵 항목이 새로운 속성을 지원하도록 확장되었습니다.
    • 새로운 선택적 boolean 필드: persistent
      • 기본값: false
      • true이면 이 렌더 대상은 프레임 간에 유지됩니다.
      • 화면 크기가 조정되면 대상의 내용이 지워집니다.
    • 새로운 선택적 필드: clear_color
      • 기본값: [0, 0, 0, 0]
      • 형식: 정수 ARGB 값 또는 [R, G, B, A] 순서의 float 배열
      • 이 대상이 생성되거나 지워질 때 이 색상으로 채워집니다.
  • uniforms 값은 이제 전역 목록 대신 블록당 목록입니다.
    • 예시: uniforms: { "UniformBlockName": [ { "type": "vec2", "value": [...] } ] }
    • 블록 내 유니폼 순서는 셰이더의 순서와 일치해야 합니다.
  • 유니폼 정의의 일부인 name은 더 이상 사용되지 않습니다.
  • 유니폼 정의의 일부인 value는 이전 values를 대체하며, 타입은 type 필드에 따라 결정됩니다.
    • 이 필드는 필수입니다.
    • "type": "int"는 "value": 123 (단일 int)이 필요합니다.
    • "type": "float"는 "value": 123.4 (단일 float)가 필요합니다.
    • "type": "vec2"는 "value": [1.2, 3.4] (두 개의 float)가 필요합니다.
    • "type": "vec3"는 "value": [1.2, 3.4, 5.6] (세 개의 float)가 필요합니다.
    • "type": "ivec3"는 "value": [1, 2, 3] (세 개의 int)가 필요합니다.
    • "type": "vec4"는 "value": [1.2, 3.4, 5.6, 7.8] (네 개의 float)가 필요합니다.
    • "type": "matrix4x4"는 "value": [1.0, 2.0, ..., 16.0] (4x4 float 행렬)이 필요합니다.

후처리 효과 셰이더 변경

  • 모든 유니폼이 개별적인 불투명 타입인 대신, 이제 유니폼 블록으로 그룹화됩니다.
    • JSON 파일의 패스 정의에 따라 설정되며, 정점 및 프래그먼트 셰이더 모두에서 공유될 수 있습니다.
  • 크기 목록(모든 vec2 *Size 유니폼)은 이제 단일 SamplerInfo 유니폼 블록으로 대체됩니다.
    • 여기에는 출력 텍스처의 크기와 모든 입력 텍스처의 크기가 순서대로 포함됩니다.
    • 정의 파일의 텍스처 순서가 이 유니폼의 샘플러 순서를 결정합니다.
    • 대부분의 후처리 체인에서는 이전과 같이 OutSize과 InSize입니다.
    • 모든 크기는 vec2입니다.
  • post/bits.fsh: float Resolution과 float MosaicSize의 BitsConfig를 예상합니다.
  • post/blit.fsh: vec4 ColorModulate의 BlitConfig를 예상합니다.
  • post/blur.vsh 및 post/box_blur.fsh: vec2 BlurDir과 float Radius의 BlurConfig를 예상합니다.
  • post/color_convolve.fsh: vec3 RedMatrix, vec3 GreenMatrix, vec3 BlueMatrix의 ColorConfig를 예상합니다.
  • post/invert.fsh: float InverseAmount의 InvertConfig를 예상합니다.
  • post/rotscale.vsh: vec2 InScale, vec2 InOffset, float InRotation의 RotScaleConfig를 예상합니다.
  • post/spiderclip.fsh: vec4 Scissor와 vec4 Vignette의 SpiderConfig를 예상합니다.

주요 유니폼 블록

  • Globals 유니폼 블록:
    • #moj_import <minecraft:globals.glsl>을 통해 사용 가능합니다.
    • 대부분의 셰이더는 일반적으로 사용하지 않더라도 이 유니폼 블록을 받을 수 있습니다.
    • ScreenSize, GlintAlpha, GameTime, MenuBlurRadius를 포함합니다.
    • MenuBlurRadius는 메뉴가 열렸을 때 배경의 흐림 반경입니다.
  • Fog 유니폼 블록:
    • #moj_import <minecraft:fog.glsl>을 통해 사용 가능합니다.
    • 대부분의 셰이더는 일반적으로 사용하지 않더라도 이 유니폼 블록을 받을 수 있습니다.
    • FogColor, FogRenderDistanceStart, FogRenderDistanceEnd, FogEnvironmentalStart, FogEnvironmentalEnd, FogSkyEnd, FogCloudsEnd를 포함합니다.
      • FogRenderDistanceStart는 렌더링 거리 안개 시작을 나타냅니다.
      • FogRenderDistanceEnd는 렌더링 거리 안개 끝을 나타냅니다.
      • FogEnvironmentalStart는 환경 기반 안개의 시작을 나타내는 새로운 필드입니다.
      • FogEnvironmentalEnd는 환경 기반 안개의 끝을 나타내는 새로운 필드입니다.
      • FogSkyEnd는 하늘을 그릴 때 안개가 끝나야 하는 지점을 나타내는 새로운 필드입니다.
      • FogCloudsEnd는 구름을 그릴 때 안개가 끝나야 하는 지점을 나타내는 새로운 필드입니다.
    • FOG_IS_SKY는 하늘 셰이더 분할을 위해 제거되었습니다.
    • FogShape가 제거되었습니다. 렌더링 거리 안개는 이제 원통형이고 환경 안개는 구형입니다.
  • Projection 유니폼 블록:
    • #moj_import <minecraft:projection.glsl>을 통해 사용 가능합니다.
    • 대부분의 셰이더는 일반적으로 사용하지 않더라도 이 유니폼 블록을 받을 수 있습니다.
    • 변경 사항 없이 ProjMat를 포함합니다.
  • DynamicTransforms 유니폼 블록:
    • #moj_import <minecraft:dynamictransforms.glsl>을 통해 사용 가능합니다.
    • 일반적으로 사용하지 않는 셰이더에는 더 이상 사용할 수 없습니다.
    • ModelViewMat, ColorModulator, ModelOffset, TextureMat, LineWidth를 포함합니다.
  • Lighting 유니폼 블록:
    • #moj_import <minecraft:light.glsl>을 통해 사용 가능합니다.
    • 대부분의 셰이더는 일반적으로 사용하지 않더라도 이 유니폼 블록을 받을 수 있습니다.
      • 그러나 셰이더가 일반적으로 예상하지 않는 경우 값은 의미가 없을 수 있습니다.
    • Light0_Direction과 Light1_Direction을 포함합니다.
  • CloudInfo 유니폼 블록:
    • 구름 셰이더(rendertype_clouds.vsh/rendertype_clouds.fsh)에서만 사용 가능합니다.
    • CloudColor, CloudOffset, CellSize (신규)를 포함합니다.
    • CellSize는 개별 구름 셀의 크기를 포함합니다.
  • LightmapInfo 유니폼 블록:
    • 라이트맵 셰이더(lightmap.fsh)에서만 사용 가능합니다.
    • 동작 변경 없이 AmbientLightFactor, SkyFactor, BlockFactor, UseBrightLightmap, NightVisionFactor, DarknessScale, DarkenWorldFactor, BrightnessFactor, SkyLightColor를 포함합니다.

쉐이더는 저의 지식 부족으로 틀린 정보가 포함될 수 있습니다.

(본 글은 프리릴리스 및 정식 출시 정보를 종합한 것이며, 일부 내용은 요약되거나 생략되었을 수 있습니다. 최신 정보는 공식 자료를 참고하시기 바랍니다.)

반응형
저작자표시 (새창열림)

'마인크래프트 강좌 > 업데이트 정리' 카테고리의 다른 글

마인크래프트 JE 1.21.11 기술적 업데이트 정리  (0) 2025.12.18
마인크래프트 JE 1.21.9 기술적 업데이트 정리  (0) 2025.10.04
마인크래프트 1.21.5 기술적 업데이트 정리  (0) 2025.03.25
마인크래프트 자바에디션 1.21.5 - Text 구성요소 업데이트 정리  (0) 2025.03.25
마인크래프트 1.21.4 기술적 업데이트 정리  (2) 2024.12.06
'마인크래프트 강좌/업데이트 정리' 카테고리의 다른 글
  • 마인크래프트 JE 1.21.11 기술적 업데이트 정리
  • 마인크래프트 JE 1.21.9 기술적 업데이트 정리
  • 마인크래프트 1.21.5 기술적 업데이트 정리
  • 마인크래프트 자바에디션 1.21.5 - Text 구성요소 업데이트 정리
Potan
Potan
안녕하세요 Potan입니다. 다양한 주제를 다루고 싶으나 마인크래프트를 주로 하고있습니다. 프사 : 카미쵸(kyamicho)
    반응형
  • Potan
    Potan의 게임블로그
    Potan
  • 전체
    오늘
    어제
    • 분류 전체보기 (257)
      • Minecraft Display Engine (1)
      • 마인크래프트 강좌 (50)
        • 명령어 강좌 (7)
        • 데이터팩 강좌 (18)
        • 리소스팩 강좌 (0)
        • 업데이트 정리 (22)
        • 블록벤치 강좌 (3)
      • 마인크래프트 (20)
        • 마크관련 잡담 (10)
        • 마인크래프트 맵 (1)
      • 유튜브 관련 (0)
      • 마인크래프트 모드강좌 (18)
        • Extra Utilities 2 (9)
        • 간단한 모드강좌 (0)
        • Refined Storage (4)
        • Thermal Expansion (5)
      • 마인크래프트 생존기 (156)
        • Sky Factory 3[완] (68)
        • Direwolf20[완] (10)
        • FTB Beyond[완] (78)
      • 잡담 (7)
        • 뻘글 (1)
      • 스팀게임 (4)
        • Clone Drone in the danger z.. (3)
      • itch.io (1)
      • 개발일지 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Sfy Factory 3
    마인크래프트 데이터팩
    모드
    야생
    스카이 블럭
    1.10.2
    마인크래프트
    데이터팩
    강좌
    1.13
    Beyond
    Sky Factory3
    생존기
    FTB
    모드팩
    스카이 팩토리
    datapack
    FTB Beyond
    명령어
    minecraft
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Potan
마인크래프트 JE 1.21.6 기술적 업데이트 정리
상단으로

티스토리툴바