Element Properties/ko
| 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 | 입자가 얼마나 '흔들리는지'( |
| HotAir | 입자가 압력을 증가시키는 양. 주로 기체에 사용되지만, |
| 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).