Element Properties/ko

From The Powder Toy
(Redirected from Gravity/ko)
Jump to navigation Jump to search
Language: English  • 한국어

TPT의 각 요소에는 화면상의 해당 유형 입자 전체에 적용되는 속성이 연관되어 있다. 다음은 해당 속성 전체 목록이다(C++ 및 Lua 모두에서 사용 가능).

속성

Identifier 식별자 문자열, Lua 및 내부 작업에 사용된다. DEFAULT_PT_XXXX 형식으로 구성된다.
Name 이름, 4글자 이하로 사용하는 것이 좋다. 5글자 이상이면 단추에 표시되지 않을 수 있다. (SPWN2는 이전에는 'S...'로 표시되었으나, 현재는 이름이 단추 밖으로 넘친다)
Color 기본 색상. 16진수(RRGGBB)로 표기된 숫자이다. 도색 편집기에서는 색상을 16진수로 표시하며, 16진수 리터럴을 추가하고, 앞의 FF는 무시하며, 그 뒤의 6자리 숫자를 사용한다. 앞의 FF는 32비트 색상의 알파(투명도) 부분을 나타낸다.
MenuVisible 메뉴에 표시 여부, 0이면 숨겨진다. 기본값은 0이다.
MenuSection 포함될 메뉴 섹션. 가능한 값 목록은 아래를 참조하라.
Enabled 활성화 여부. 0인 경우, 어떤 방식으로도 생성되거나 볼 수 없으며 Lua에서도 마찬가지이다. 생성되더라도 그냥 사라진다. 제거된 요소에 사용되며, 이 값은 1로 유지해야 한다.
Advection 이류. 입자가 공기 흐름에 의해 가속되는 정도이다. 일반적으로 고체는 0이며, 다른 원소들은 최대 1까지 가능하다. 음수 값도 가능하며, 은 압력 방향으로 이동하기 위해 음수 값을 가진다.
AirDrag 입자가 진행 방향으로 생성하는 공기의 양. 일반적으로 매우 작으며, 0.04f는 많은 양의 양압을 생성한다(-는 음압을 생성함).
AirLoss 입자가 공기 흐름을 늦추는 정도(벽만큼 큰 효과는 아님). 1 = 영향 없음, 0 = 최대 영향이다. 고체는 일반적으로 0.90f 이상이며, 대부분의 다른 원소들도 마찬가지다.
Loss 입자가 매 프레임마다 잃는 속도의 양. 1 = 손실 없음, 0.5 = 절반 손실이다. 고체는 0으로 설정된다. 에너지 입자나 예전 움직이는 스펀지처럼 1로 설정된 경우는 극소수이다.
Collision 입자가 무언가와 충돌할 때 속도에 곱해지는 값. 일반적으로 -0.01f 또는 0.0f로 설정되며, 에너지 입자에는 영향을 미치지 않는다.
Gravity 입자가 떨어지는 속도. 음수 값은 입자가 떠오름을 의미한다. 일반적으로 매우 작으며, 대부분의 기체는 음수이고, 그 외 모든 것은 보통 0.04f 미만이다.
Diffusion 입자가 얼마나 '흔들리는지'( 또는 을 생각해 보자). 기체를 제외하고는 0으로 설정되며, 기체는 양수이다. 흔들림이 클수록 최대 3(또는 그 이상)까지 설정된다. GAS는 0.75f, HYGN은 3.00f이다.
HotAir 입자가 압력을 증가시키는 양. 주로 기체에 사용되지만, /는 (-)0.010f이며, 특정 고온/저온 소재(예: )는 약간의 양수/음수 값을 가진다. 보통 극히 작은 수치이며, 때로는 0.000001f만큼 작을 수도 있다.
Falldown 입자가 움직이는 방식. 0 = 고체, 기체 또는 에너지 입자, 1 = 가루, 2 = 액체이다.
Flammable 가연성. 0 = 없음, 숫자가 높을수록 '타는 정도'가 높다. 20 정도면 나무 수준이고, C-4는 1000이다. 거의 즉시 연소하는 것들은 수천에 달하기도 한다.
Explosive 폭발성. 0 = 없음, 1 = 불에 닿을 때, 2 = 불에 닿을 때 또는 압력 > 2.5일 때이다. 그렇다, 이것이 유일한 옵션이다. 동작 방식을 수정하려면 FIRE.cpp 또는 Simulation.cpp 어딘가를 참조하라. 효과를 보려면 반드시 가연성 속성도 설정하여야 한다.
Meltable 녹는 여부. 1 또는 그 이상 = 그렇다, 0 = 아니다. 이는 실제로 열 시뮬레이션이 꺼져 있을 때만 사용되며, 실제로 녹게 하려면 원소 변환을 사용하여야 한다.
Hardness 산이 영향을 미치는 정도. 0 = 영향 없음, 숫자가 높을수록 영향이 크다. 일반적으로 약 50까지 올라가 있다.
PhotonReflectWavelengths 광자가 요소에 충돌할 때 광자 파장이 이 값과 AND 연산된다. 즉, 반사된 광자에는 이 값과 원래 광자 모두에 존재하는 파장만 남게 된다.
Weight 무거운 요소는 가벼운 요소 아래로 가라앉는다. 1 = 기체. 2 = 가벼움, 98 = 무거움(액체 0-49, 가루 50-99)이다. 100 = 고체이다. -1은 에너지이다(, 등).
Temperature 생성 시 온도. 온도는 켈빈 단위이다(켈빈 = 섭씨 + 273.15). R_TEMP+273.15f는 실온을 반환한다.
HeatConduct 0 - 열 전달 없음, 255 - 최대 열 전달 속도이다.
Description 게임 내에서 해당 요소에 마우스를 올렸을 때 표시되는, 한두 문장으로 된 간단한 설명이다.
Properties 요소가 특별한 속성을 가지는지 여부. 이건 물체가 전기를 전도하도록 만드는 등의 작업을 수행하는 데 사용된다. 다음과 같이 구현된다: elem.property(elem.property(elem.NAMESPACE_PT_ELEM, "Properties", elem.PROP1 + elem.PROP2)
CarriesTypeIn 요소가 .type 속성 외에 다른 속성에도 입자 유형을 포함하는지 여부. 이를테면 STOR는 .ctype과 .tmp 모두에 유형을 포함한다. 이는 비트 플래그로, C++에서는 (1U << FIELD_CTYPE), Lua에서는 bit.lshift(1, sim.FIELD_CTYPE)로 설정된다.
LowPressure 요소가 이 압력 아래로 떨어지면 전환된다(IPL로 설정 시 전환되지 않음).
LowPressureTransition 압력이 임계값 미만일 때 전환할 요소(NT로 설정 시 절대 전환되지 않음).
HighPressure 해당 요소가 이 압력을 초과하면 전환된다(IPH로 설정 시 전환되지 않음).
HighPressureTransition 압력이 임계값을 초과할 때 전환할 요소(NT로 설정 시 절대 전환되지 않음).
LowTemperature 해당 요소가 이 온도 아래로 떨어지면 전환된다(ITL로 설정하면 절대 전환되지 않음).
LowTemperatureTransition 온도가 임계값 미만일 때 전환할 요소(NT로 설정 시 절대 전환되지 않음).
HighTemperature 해당 요소가 이 온도를 초과하면 전환된다(ITH로 설정 시 전환되지 않음).
HighTemperatureTransition 온도가 임계값 이상일 때 전환할 요소(NT로 설정 시 절대 전환하지 않음).
Update 업데이트 함수. 이 함수는 요소가 다른 요소들과 어떻게 상호작용하는지를 제어한다.
Graphics 그래픽스 함수. 모든 화려한 효과를 제어한다. 요소가 단일한 단색일 경우 이 기능은 필요하지 않다.
Create 생성 함수. 요소가 배치/다른 요소에 의해 생성될 때 한 번만 실행되는 함수이다.
ChangeType 입자 변경/소멸 함수. 해당 요소의 입자가 유형이 변경되거나 소멸할 때(예: 해당 입자가 NONE으로 전환될 때) 실행된다. 또한 입자가 생성될 때 한 번 실행된다.

콜백 함수

Update

number Update(number index, number x, number y, number surround_space, number nt)

요소의 업데이트 함수를 대체할 수 있게 한다. 이 함수는 할당된 요소의 각 입자에 대해 매 프레임마다 한 번씩 호출된다. 요소의 동작, 상호작용, 반응 및 동적 속성을 정의하는 데 사용된다. 함수 매개변수는 다음과 같다:

index 현재 업데이트 중인 입자의 인덱스이다. 이는 각 입자에 대한 고유 식별자이다.
x, y 현재 업데이트 중인 입자의 좌표로, 필드 좌측 상단을 기준으로 측정된다. 이는 HUD 우측 상단에 표시되는 좌표와 동일하다.
surround_space 이 입자를 둘러싼 8개의 셀에 존재하는 빈 위치의 수이다.
nt '유형 없음', 입자 주변 8개 셀에 존재하는 서로 다른 유형의 입자 수와 빈 공간의 합계입니다.

Update 함수는 입자가 지속될 경우 아무것도 반환하지 않아야 하며, 입자가 파괴/제거된 경우 -1을 반환하여야 한다.

Graphics

tuple<number> Graphics(number index, number colr, number colg, number colb)

요소의 그래픽스 함수를 대체할 수 있게 한다. 이 함수는 입자에 부여되는 시각적 효과 및 특수 효과를 결정하기 위해 호출된다. 반환 값에 따라, 할당된 요소의 각 입자에 대해 매 프레임마다 한 번씩 호출되거나 할당된 요소의 각 입자가 생성될 때 단 한 번만 호출될 수 있다.

함수 매개변수:

index 현재 업데이트 중인 입자의 인덱스이다. 이는 각 입자에 대한 고유 식별자이다.
colr/g/b (매개변수 3개) 요소의 빨강, 초록, 파랑 색상 구성 요소. 도색 색상은 포함되지 않는다.

반환값:

cache 이 함수가 다시 호출되지 않도록 하려면 이 값을 1로 설정하여야 한다. 성능이 향상되지만, 요소의 속성에 따라 외관이 바뀌어야 하는 경우에는 이 설정을 사용하지 말라.
pixel_mode 요소에 특별한 표시 속성을 추가하는 데 사용되는 이진 플래그 세트이다. 사용할 수 있는 값과 그 기능은 아래 표를 참조하라.
cola/r/g/b (값 4개) 이 값들은 입자의 ARGB 디스플레이 색상을 설정한다. 그리고 대부분의 경우 도색 색상을 재정의하지 않는다. 0부터 255까지의 정수 값을 가질 수 있다.
firea/r/g/b (4 values) 이 설정은 불 색상을 지정하지만, 작동하려면 pixel_mode를 0x00022000으로 설정하여야 한다. 0부터 255까지의 정수 값을 가질 수 있다.

사용할 수 있는 ren의 픽셀 모드 값은 다음과 같다:

PMODE_NONE  0x00000000 -- 아무것도 그려지지 않도록 방지한다.
PMODE_FLAT  0x00000001 -- 기본 픽셀을 그려 아래 색상을 덮어쓴다. cola를 지원하지 않는다.
PMODE_BLOB  0x00000002 -- 얼룩(5) 디스플레이 모드를 사용하는 것처럼 얼룩진 효과를 추가한다.
PMODE_BLUR  0x00000004 -- 화려한 디스플레이 모드에서 액체에 사용된다.
PMODE_GLOW  0x00000008 -- 화려한 디스플레이 모드에서 DEUT 및 TRON과 같은 요소에 사용되는 빛나는 효과이다.
PMODE_SPARK	0x00000010 -- 초기 GBMB 등에 사용되며, 다른 모드보다 어둡게 표현된다.
PMODE_FLARE 0x00000020 -- BOMB 및 유사 요소에서, PMODE_SPARK보다 밝게 표현된다.
PMODE_LFLARE    0x00000040 -- 가장 밝은 불꽃 모드로, DEST가 무언가에 충돌할 때 사용한다.
PMODE_ADD   0x00000080 -- PMODE_FLAT과 유사하지만, 픽셀을 덮어쓰는 대신 색상을 추가한다.
PMODE_BLEND 0x00000100 -- 기본적으로 PMODE_ADD와 동일하지만, OpenGL 지원이 더 우수하다.
PSPEC_STICKMAN	0x00000200 -- 아무 작업도 수행하지 않는다. 스틱맨은 실제 스틱맨일 때만 그려지기 때문이다.

NO_DECO		0x00001000 -- 요소에 도색 표시를 방지한다(LCRY에서 사용됨).
DECO_FIRE	0x00002000 -- 불 효과에서 도색을 그릴 수 있도록 허용한다(기체 요소에 설정됨).

FIRE_ADD	0x00010000 -- 원소 주변에 약한 불 효과를 추가한다(예: 용암/불꽃).
FIRE_BLEND	0x00020000 -- 요소 주변에 더 강한 불 효과를 추가합니다. 기체의 기본값이다.

EFFECT_GRAVIN	0x01000000 -- PRTI 효과를 추가한다. 제대로 작동하려면 업데이트 함수에서 코딩이 필요할 수 있다. PRTI는 수명과 부유형을 사용하여 효과를 생성한다.
EFFECT_GRAVOUT	0x02000000 -- PRTO 효과를 추가한다. 제대로 작동하려면 업데이트 함수에서 코딩이 필요할 수 있다. PRTO는 수명과 부유형을 사용하여 효과를 생성한다.

원하는 방식으로 조합할 수 있으며, 어차피 하나 이상이 필요할 것이다. 방사성 원소는 기본값으로 PMODE_FLAT+PMODE_GLOW, 액체는 PMODE_FLAT+PMODE_BLUR, 기체는 FIRE_BLEND+DECO_FIRE를 사용하며, firea 값은 125, firer/g/b 값은 colr/g/b를 2로 나눈 값이다.

어떻게 생겼는지 보려면 여기를 참조하라: https://powdertoy.co.uk/Wiki/W/File:Particle_Drawing_Modes.png.html

Create

none Create(number index, number x, number y, number type, number v)

요소의 생성 함수를 대체할 수 있게 한다. 이 함수는 요소의 입자가 배치될 때마다 호출된다.

함수 매개변수:

index 현재 업데이트 중인 입자의 인덱스이다. 이는 각 입자에 대한 고유 식별자이다.
x, y 현재 업데이트 중인 입자의 좌표로, 필드 좌측 상단을 기준으로 측정된다. 이는 HUD 우측 상단에 표시되는 좌표와 동일하다.
type 배치되는 입자의 유형 속성. 이 속성은 함수가 여러 요소를 처리할 때만 필요하다.
v 이것은 sim.partCreate에서 ID 번호의 일부로 전달되는 추가 숫자 속성이다(현재 0부터 계산하여 9비트 이상). 이는 Create 함수가 원하는 방식으로 처리할 수 있는 다목적 추가 매개변수 역할을 한다.

ChangeType

none ChangeType(number index, number x, number y, number type, number new_type)

요소의 변화에 대한 반응을 대체할 수 있게 한다. 이 함수는 요소의 입자가 생성되거나, 다른 유형(예: GLAS -> BGLA)으로 변경되거나, 파괴될 때마다 호출된다. 요소가 다른 유형으로 변경될 경우 입자는 해당 함수를 한 번 호출한 후, 그 시점부터는 새 유형이 제공하는 함수를 사용한다는 점에 유의하라.

함수 매개변수는 다음과 같다:

index 현재 업데이트 중인 입자의 인덱스이다. 이는 각 입자에 대한 고유 식별자이다.
x, y 현재 업데이트 중인 입자의 좌표로, 필드 좌측 상단을 기준으로 측정된다. 이는 HUD 우측 상단에 표시되는 좌표와 동일하다.
type 요소의 이전 유형이다. 새로운 입자의 경우, 이는 0 즉 NONE이다.
new_type 요소의 새로운 유형이다. 입자가 파괴된 경우, 이 값은 0 즉 NONE이다.

메뉴 섹션

이들은 MenuSection 속성에 사용된다.

SC_WALL
SC_ELEC
SC_POWERED
SC_SENSOR
SC_FORCE
SC_EXPLOSIVE
SC_GAS
SC_LIQUID
SC_POWDERS
SC_SOLIDS
SC_NUCLEAR
SC_SPECIAL
SC_LIFE
SC_TOOL
SC_DECO

.Property 상수

이들은 Properties 속성에 사용된다.

TYPE_PART
가루에 사용된다.
TYPE_LIQUID
액체에 사용된다.
TYPE_SOLID
고체/기타 요소에 사용된다.
TYPE_GAS
기체에 사용된다.
TYPE_ENERGY
에너지 입자에 사용된다.
PROP_CONDUCTS
요소가 자동으로 SPRK를 전도하도록 허용하며, PROP_LIFE_DEC가 필요하다.
PROP_PHOTPASS
광자가 이 요소를 통과하도록 허용한다.
PROP_NEUTPENETRATE
요소가 중성자에 의해 움직일 수 있다(중성자와 나무의 상호작용을 관찰하여 확인하라).
PROP_NEUTABSORB
요소가 중성자를 흡수한다.
PROP_NEUTPASS
요소가 중성자의 통과를 허용한다.
PROP_DEADLY
요소가 스틱맨과 파이터를 죽인다.
PROP_HOT_GLOW
요소가 녹는점에 가까워졌을 때 붉게 빛난다.
PROP_LIFE
사용되지 않는다.
PROP_RADIOACTIVE
요소가 URAN이나 PLUT처럼 방사성 빛을 낸다. 또한 스틱맨에게 치명적이다.
PROP_LIFE_DEC
입자의 '수명' 속성이 매 프레임마다 1씩 감소한다.
PROP_LIFE_KILL
입자의 '수명' 속성이 0 이하가 되면 파괴된다.
PROP_LIFE_KILL_DEC
PROP_LIFE_DEC와 함께 사용할 경우, '수명' 속성이 0으로 감소할 때 입자가 파괴된다. 이미 0인 경우 상관 없다.
PROP_SPARKSETTLE
전류/불꽃이 접촉해도 파괴되지 않도록 한다.
PROP_NOAMBHEAT
복사열이 활성화된 상태에서 입자가 공기와 열 교환을 하지 못하게 한다.
PROP_NOCTYPEDRAW
이 요소가 다른 요소 위에 그려질 때 부유형을 설정하지 않습니다(예: STKM과 CLNE).