달력

5

« 2025/5 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

'분류 전체보기'에 해당되는 글 163

  1. 2017.05.20 Gradient map
  2. 2017.05.19 Flow Map & Motion Vector
  3. 2017.05.19 Graph
  4. 2017.05.19 unreal forum
  5. 2017.05.19 hlsl 내장함수
  6. 2017.05.18 Noise
  7. 2017.05.16 Cloudscape! / CurveSweeper / - Houdini for Games / UE4
  8. 2017.05.10 Particle parameter control
  9. 2017.05.10 アナザーエデン 時空を超える猫
  10. 2017.05.08 note
2017. 5. 20. 16:08

Gradient map UE4/Practice2017. 5. 20. 16:08

https://docs.unrealengine.com/latest/INT/Engine/Rendering/Materials/Functions/Reference/Gradient/index.html


https://forums.unrealengine.com/showthread.php?1845-Is-there-a-material-function-that-works-like-Photoshop-s-Gradient-Map


http://artisaverb.info/DitchingDiffuse.html










https://realtimevfx.com/t/particle-gradient-mapping/1952







http://technical-eden.blogspot.kr/2012/01/gradient-mapping-awesome-way-to-get.html




http://blog.lostmountaingames.com/unreal-engine-4-particle-gradient-mapping/




Motion Vector & 2D gradient lookup Shader 



A Game of Tricks III – Particles fun (part1)


http://www.alkemi-games.com/a-game-of-tricks-iii-particles-fun-part1/


 





'UE4 > Practice' 카테고리의 다른 글

Unreal Engine 5 Lumen simple test  (0) 2021.06.08
Distribution  (0) 2018.05.04
Flow Map & Motion Vector  (0) 2017.05.19
unreal forum  (0) 2017.05.19
hlsl 내장함수  (0) 2017.05.19
:
Posted by fx0275
2017. 5. 19. 15:07

Flow Map & Motion Vector UE4/Practice2017. 5. 19. 15:07


flowmap

http://t.cn/RaEYtO3



Motion Vector

killzone

http://fxrnd.tistory.com/32

slate editor

http://fxrnd.tistory.com/51





http://www.klemenlozar.com/frame-blending-with-motion-vectors/


https://www.sidefx.com/tutorials/create-motion-vectors-for-time-warping-image-sequences/





fallout

https://simonschreibt.de/gat/fallout-4-the-mushroom-case/













'UE4 > Practice' 카테고리의 다른 글

Distribution  (0) 2018.05.04
Gradient map  (0) 2017.05.20
unreal forum  (0) 2017.05.19
hlsl 내장함수  (0) 2017.05.19
Particle parameter control  (0) 2017.05.10
:
Posted by fx0275
2017. 5. 19. 14:46

Graph Tools2017. 5. 19. 14:46

Graph

Plotting of mathematical functions


http://www.padowan.dk/







SetupGraph-4.4.2.exe


'Tools' 카테고리의 다른 글

Pixelate It™ for After Effects  (0) 2017.06.01
Advanced UV Normalizer (3dsmax macro script)  (0) 2017.05.23
FaceDown Slate Editor - Generating Flow Vectors  (0) 2017.05.02
GostTown 3dsmax plugin  (0) 2017.04.23
Debris Maker2 (3DSMax)  (0) 2017.03.10
:
Posted by fx0275
2017. 5. 19. 08:46

unreal forum UE4/Practice2017. 5. 19. 08:46


UnrealFastNoise - Modular Noise Generator Plugin


https://forums.unrealengine.com/showthread.php?121155-UnrealFastNoise-Modular-Noise-Generator-Plugin




[TUTORIAL] Create a procedural spline road tool in blueprints 4 part video series

https://forums.unrealengine.com/showthread.php?20194-TUTORIAL-Create-a-procedural-spline-road-tool-in-blueprints-4-part-video-series




'UE4 > Practice' 카테고리의 다른 글

Gradient map  (0) 2017.05.20
Flow Map & Motion Vector  (0) 2017.05.19
hlsl 내장함수  (0) 2017.05.19
Particle parameter control  (0) 2017.05.10
PopcornFX plugin  (0) 2017.05.04
:
Posted by fx0275
2017. 5. 19. 08:22

hlsl 내장함수 UE4/Practice2017. 5. 19. 08:22

http://cafe.naver.com/tgedev/477


http://cafe.naver.com/tgedev/478


Intrinsic Functions 내장함수 - 2

 

1. ddx_coarse

            ddx()를 보충하기 위해 도입된 함수이다. ddx()에 대한 설명을 보면 해당 좌표(픽셀)에 대한 편미분값을
            구한다, 라고 돼 있다... 도대체 무슨 말인지... 화면 좌표계에서 어떻게 편미분 값을 구한다는 건지...
            이해도 안 가고 저런 식으로 달랑 한 문장 써 놓은 게 얄밉다. 
            사실 ddx()는 특정 픽셀값의 Gradient 정도, 즉 변화 정도를 알려준다. 이 값은 지정한 픽셀 자신과 해당 
            픽셀 바로 오른 쪽에 인접한 픽셀 값과의 차이를 통해서 얻을 수 있는데, 만약 그 차이가 크다면 이 픽셀은
            인접 픽셀과 비교해 변화 정도가 크다는 뜻이고, 작다면 서서히 변한다는 뜻이 되는 것이다.
            포토샵 같은 툴을 조금이라도 써 보신 분이라면 Gradient가 무언지 알 수 있을 것이다. Gradient를 작게 주면
            색이 자연스럽고 천천히 변하는데, 크게 주면 급격하게 색깔이 변하는 걸 알 수 있다. 바로 ddx() 값이 크다면
            이렇게 급격하게 변하는 걸 의미하는 것이다.
            ddx_coarse는 낮은 정밀도로 이 값을 구하는 함수이다.

2ddy_coarse: ddx_coarse와 똑 같은 의미. 방향이 아래쪽이라는 것만 틀리다.

3. ddxfine: ddx_coarse와는 다르게 고 정밀도로 해당 픽셀의 Gradient 정도를 구한다.

4. ddyfine: ddxfine와 똑 같은 의미. 방향이 y축 방향이다는 차이만 있다.

 

다음 Process로 시작하는 10개의 함수는 Direct3D 11에 추가된 Tessellation 용 함수들로서 Tessellation Factor값들을 구하는
함수 들입니다. 
Tessellation은 Hull Shader, Domain Shader와 함께 오브젝트를 보다 정밀하게 표현할 수 있도록 마련된 기능입니다. 기존의 
LOD가 미리 만들어 놓은 여러 단계의 오브젝트를 상황에 따라 선택적으로 보여주거나 감추는 것이었다면 Tessellation은 
실시간으로 GPU연산을 통해 정밀도를 조정하여 오브젝트를 표현해준다는 차이가 있습니다. 또한 Parrallex map이 텍스쳐의 
좌표를 보는 각도에 따라 달리하여 Normal/bump 맵보다 좀더 현실적인 그래픽을 보여주는 것과는 달리 실재 필요할 경우 
오브젝트의 폴리곤의 갯수를 실시간으로 조절하여 정밀도를 조정한다,는 차이가 있습니다. 
Tessellation의 기본 단위는 Patch와 Control Point입니다. 하나의 패치는 1~32개의 control Point를 가질 수 있습니다.
Tessellation을 적용하면 이런 Control Point를 중심으로 연산이 이뤄지게 됩니다. 또한 Tessellation을 어느정도 적용하지
결정하기 위한 Tessellation Factor가 있는데 다음 10개의 함수는 모두 이 Tessellation Factor값을 구하는 역할을 합니다.
 
5. Process2DQuadTessFactorsAvg
  Edge Tessellation Factor(패치의 가장자리 Tessellation Factor값)들의 평균값을 이용 
  Inside Tessellation Factor(패치 안쪽 Tessellation Factor값)를 계산하여 
  4 각형 패치의 수정된 Tessellation Factor를 구한다. Tessellation Factor의 UV 값은
  각각 독립적으로 구하는데, 양쪽 가장자리 domain 값의 평균값을 취한 후 이 함수의
  두 번째 인자로 넘겨주는 Scale일 값만큼 스케일을 변경한다.

 

6. Process2DQuadTessFactorsMax
  Process2DQuadTessFactorsAvg과의 차이는 Edge Tessellation Factor 평균값 대신 최대값을 이용한다는 점이다.

7. Process2DQuadTessFactorsMin
  Process2DQuadTessFactorsAvg과의 차이는 Edge Tessellation Factor 평균값 대신 최소값을 이용한다는 점이다.

8. ProcessIsolineTessFactors
  라인에 대한 Tessellation Factor 근사값을 구한다.

 

9. ProcessQuadTessFactorsAvg
  Edge Tessellation Factor(패치의 가장자리 Tessellation Factor값)들의 평균값을 이용 
  Inside Tessellation Factor(패치 안쪽 Tessellation Factor값)를 계산하여 
  4 각형 패치의 수정된 Tessellation Factor를 구한다. 이렇게 구해진 Inside Tessellation Factor 값은
  함수의 2번째 인자로 넘겨주는 스케일값에 의해 조정된 가장자리 4개의 평균
  Tessellation Factor값과 동일하다.

10. ProcessQuadTessFactorsMax
  위의 함수와 비교해 최대값을 이용한다는 차이점만 있다.

11. ProcessQuadTessFactorsMin
  위의 함수와 비교해 최소값을 이용한다는 차이점만 있다.

 

12. ProcessTriTessFactorsAvg
  삼각형 형태의 패치(tri patch)에 대한 Tessellation Factor 값을 구한다. 구하는 방식의 Quad Patch와
  같다.

13. ProcessTriTessFactorsMax
14. ProcessTriTessFactorsMin


http://cafe.naver.com/tgedev/481


abs: 절대값을 구한다.
acos: 코사인에 대한 역 삼각함수
all(x); x의 모든 원소가 0인가? 맞으면 true, 아니면 false를 리턴한다. 
any(x): x의 원소중에 0이 아닌 원소가 하나라도 있는가? 있으면 true, 없으면 false를 리턴한다.
asfloat: 인자값을 float 타입으로 바꾼다.
asin: 싸인에 대한 역 삼각함수
asint: 인자값을 int 타입으로 바꾼다.
asuint: 인자값을 uint 타입으로 바꾼다.
atan: 탄젠트에 대한 역 삼각함수
atan2: atan2(y,x) 의 형태로 쓰이며 이는 atan(y/x)와 같다. 분모인 x는 당연히 0이어서는 안 된다.
ceil: 소수점이 있으면 무조건 반올림 (4.1 ->5)
clamp: 인자값을 특정 범위로 한정한다. 즉, clamp(x, min, max)에서 x가 min보다 작으면 min을
       max보다 크면 max를 리턴한다.
clip: 
     픽셀 쉐이더에서만 사용 가능하다. 만약 인자값이 0보다 작으면 현재의 픽셀을 버린다.
     clip( Input.Color.A < 0.1f ? -1:1 );
     위에서 만약 알파값이 0.1보다 작다면 인자값은 -1이 될 것이고 이는 0보다 작기 때문에
     해당 픽셀은 처리되지 않게 된다.
cos, sin, tan: 기본 삼각함수
cross: 인자로 받은 두 개의 float형 3D 벡터값들의 외적값을 구한다.
D3DCOLORtoUBYTE4:  D3DCOLOR값으로 채워진 4D 벡터의 float형 성분들을 UBYTE4 형으로 변경한다. UBYTE4형을 지원하지
                 않는 특정 하드웨어를 위해 마련된 함수이다.
ddx: ddx_coarse 참조
ddy: ddy_coarse 참조
degrees: 인자로 입력 받은 라디언 값에 해당하는 degree값을 리턴한다.
determinant: 인자로 입력받은 정방행렬의 행렬식을 구한다.
distance(x,y): 두 벡터의 거리를 구한다. 
dot: 인자로 받은 두 개의 3D 벡터들의 내적값을 구한다. 
log: 밑이 e인 로그값을 구한다.
log10: 밑이 10인 로그값을 구한다.
log2: 밑이 2인 로그값을 구한다.
floor:소수점 이하 값은 무조건 버린다. (4.22 -> 4)
radians: 인자로 입력 받은 degree 값에 해당하는 radian값을 리턴한다.
sqrt(x) : x의 제곱근을 구한다.
rsqrt: 제곱근의 역수를 구한다.
max: 두 인자 중 큰 값을 구한다.
min: 두 인자 중 작은 값을 구한다.
fwidth: 
isfinite(x): x가 유한한가? 맞으면 true, 아니면 false 리턴
isinf(x): x가 무한인가? 맞으면 true, 아니면 false 리턴
length(x): 벡터 x 의 길이를 리턴 
normalize: 정규화한다.
pow(x,y): x^y, 즉 x의 y승 값을 리턴
exp(x): 밑을 e로 하는 지수 e^x를 리턴 
exp2(x): 밑을 2로 하는 지수 2^x를 리턴
modf(x,i) : x의 정수부분은 i에 저장되고 소수점 이하부분이 리턴값으로 넘어온다.
sign(x) : x의 부호를 리턴한다. 부호가 음수이면 -1, 0이면 0, 양수이면 1을 리턴
saturate(x) : x를 [0, 1] 범위의 값으로 한전한다
lerp(x,y,s) : 선형보간 값인 x + s(y - x) 를 리턴한다. 
step(x,y) : x가 y보다 작거나 같은지 판단한다. 맞으면 1, 그렇지 않으면 0을 리턴한다
smoothstep(min,max,x) : x가 [min, max] 사이의 값인 경우에 [0, 1] 사이의 Hermite 보간 값을 
          리턴한다. 
fmod(x,y) : x/y의 나머지 값을 리턴한다
frac(x) : x의 소수점 이하 부분을 리턴한다
frexp(x,e) : 주어진 실수 x의 소수점 이하값인 가수부분과 지수부분을 동시에 리턴한다.
    가수부분을 e로 리턴하고, 지수부분을 함수리턴값으로 리턴한다
round(x) : 반올림한 정수를 리턴 (4.6 ->5)
mul(x,y) : 두 행렬의 곱을 리턴한다.
faceforward(n, i, ng) : 관찰자를 향하는 표면 노말값을 리턴한다
reflect(i, n) : 반사벡터를 리턴한다.
refract(i, n, R) : 굴절벡터를 리턴한다.
lit(n·l, n·h, m) : 조명계수 벡터를 리턴한다.
noise(x) : Perlin 노이즈값을 리턴한다.


http://cafe.naver.com/tgedev/487



Intrinsic Functions 내장함수 4

 

fwidth(x): abs(ddx(x)) + abs(ddy(x)) 를 계산한다.

cosh(x): x의 cosine hyperbolic(쌍곡 함수) 값을 얻는다.
sinh(x): x의 sine쌍곡 함수 값을 얻는다.
tanh(x): x의 tangent쌍곡 함수 값을 얻는다.
sincos(x, out sineVal, out cosVal): x에 대한 sine값을 구해 sineVal에 저장하고, cosine값은 cosVal에 저장한다. 
GetRenderTargetSampleCount: 렌더 타겟에 대한 샘플 갯수를 구한다.
GetRenderTargetSamplePosition(index) 인덱스에 해당하는 샘플에 대해서 샘플링 위치를 구한다.  
isnan(x): x가 NAN(Not a number) 이거나 QNAN(Quiet Not a number)인지 판단한다.
ldexp(x, exp): x * (2의 exp 승)을 계산한다.
tex1D(s, t) : 샘플러 s를 이용 t 위치에서 텍스쳐의 색깔 정보를 뽑아낸다. 쉐이더가 1D를 지원하지 않기 때문에
              컴파일러는 2D 텍스쳐를 사용하게 되는데, 대신 컴파일러는 y좌표는 중요하지 않다고 판단한다.
tex1D(s, t, ddx, ddy): 어떤 mip 단계를 선택할지 ddx와 ddy를 가지고 판단하고, 샘플러 s를 이용해
              t에서의 색깔 정보를 뽑아낸다. 
tex1Dbias(s,t): bias는 Vertex Shader에서는 사용할 수 없고 Pixel Shader에서만 사용할 수 있다. t.w에 의해 mip map 
              level을 정한 후 샘플러 s를 이용 해당 픽셀의 색깔 정보를 얻는다. 
              이미지를 흐리게 보이게 하거나 선명하게 보이게 하게 위해 쓰일 수 있다.
tex1Dgrad(s, t, ddx, ddy): 어떤 mip 단계를 선택할지 x와 y의 gradient 정도값을 이용하고, 샘플러 s를 이용해
              t에서의 색깔 정보를 뽑아낸다. 
tex1Dlod(s,t): t.w에 의해 miplevel을 정한 후 샘플러 s를 이용 해당 픽셀의 색깔 정보를 얻는다. t.w에 의해 LOD가 
              어느단계에서 변할지를 결정한다. 
tex1Dproj: proj 가 붙으면 t.w 값에 의해 texture 좌표값 각각이 나뉘게(/) 된다.
tex2D(s, t): 샘플러 s를 이용해 2D 텍스쳐의 색깔 정보를 얻어낸다.
tex2D(s, t, ddx, ddy): 샘플러 s를 이용해 2D 텍스쳐 t에서의 색깔 정보를 얻어낸다. ddx와 ddy를 이용해 mipmap level을 정한다.
tex2Dbias(s,t): t.w에 의해 mip map level을 정한 후 샘플러 s를 이용 2D 텍스쳐의 픽셀 색깔 정보를 얻는다. 
tex2Dgrad(s, t, ddx, ddy): 어떤 mip 단계를 선택할지 ddx와 ddy를 통해 결정하고, 샘플러 s를 이용해 2D 텍스쳐
              t에서의 색깔 정보를 뽑아낸다. 
tex2Dlod(s,t): t.w에 의해 mip map level을 정한 후 샘플러 s를 이용 2D 텍스쳐의 픽셀 정보를 얻는다. t.w에 의해 LOD가 
              어느단계에서 변할지를 결정한다. 
tex2Dproj(s,t): 2D 텍스쳐에서 샘플러 s를 이용해 샘플링을 한다. 이때 t.w 값에 의해 texture 좌표값 각각이 나뉘게(/) 된다.
tex3D(s, t): 샘플러 s를 이용해 3D 텍스쳐의 색깔 정보를 얻어낸다.
tex3D(s, t, ddx, ddy): 샘플러 s를 이용해 3D 텍스쳐 t에서의 색깔 정보를 얻어낸다. ddx와 ddy를 이용해 mipmap level을 정한다.
tex3Dbias(s,t): t.w에 의해 mip map level을 정한 후 샘플러 s를 이용 3D 텍스쳐의 픽셀 색깔 정보를 얻는다. 
tex3Dgrad(s, t, ddx, ddy): 어떤 mip 단계를 선택할지 ddx와 ddy를 통해 결정하고, 샘플러 s를 이용해 3D 텍스쳐
              t에서의 색깔 정보를 뽑아낸다. 
tex3Dlod(s,t): t.w에 의해 mip map level을 정한 후 샘플러 s를 이용 3D 텍스쳐의 픽셀 정보를 얻는다. t.w에 의해 LOD가 
              어느단계에서 변할지를 결정한다. 
tex3Dproj(s,t): 3D 텍스쳐에서 샘플러 s를 이용해 샘플링을 한다. 이때 t.w 값에 의해 texture 좌표값 각각이 나뉘게(/) 된다.
texCUBE(s, t)샘플러 s를 이용해 큐브 텍스쳐의 색깔 정보를 얻어낸다.
texCUBE(s, t, ddx, ddy): 샘플러 s를 이용해 큐브 텍스쳐 t에서의 색깔 정보를 얻어낸다.
    ddx와 ddy를 이용해 mipmap level을 정한다.
texCUBEbias(s,t): t.w에 의해 mip map level을 정한 후 샘플러 s를 이용 큐브 텍스쳐의 픽셀 색깔 정보를 얻는다. 
texCUBEgrad(s, t, ddx, ddy): 어떤 mip 단계를 선택할지 ddx와 ddy를 통해 결정하고, 샘플러 s를 이용해 큐브 텍스쳐
              t에서의 색깔 정보를 뽑아낸다. 
texCUBElod(s,t): t.w에 의해 mip map level을 정한 후 샘플러 s를 이용 큐브 텍스쳐의 픽셀 정보를 얻는다. t.w에 의해 LOD가 
              어느단계에서 변할지를 결정한다. 
texCUBEproj(s,t): 큐브 텍스쳐에서 샘플러 s를 이용해 샘플링을 한다. 이때 t.w 값에 의해 texture 좌표값 각각이 나뉘게(/) 된다.
transpose(x): x의 행과 열이 바뀐 전치행렬을 구한다.
trunc(x): x의 소숫점 아래 값을 버린 정수값을 얻는다.


'UE4 > Practice' 카테고리의 다른 글

Flow Map & Motion Vector  (0) 2017.05.19
unreal forum  (0) 2017.05.19
Particle parameter control  (0) 2017.05.10
PopcornFX plugin  (0) 2017.05.04
Live Stream - Realtime Simulation Volume Modeling Experiments  (0) 2017.05.04
:
Posted by fx0275
2017. 5. 18. 07:27

Noise UE4/Tutorials_Web2017. 5. 18. 07:27


Bake to Render Target

https://www.unrealengine.com/ko/blog/getting-the-most-out-of-noise-in-ue4




Encoding Pseudo Volume Textures (Noise Sequence Texture Atlas)

http://shaderbits.com/blog/authoring-pseudo-volume-textures





Noise panning


https://answers.unrealengine.com/questions/205981/using-panner-node-on-a-noise-node.html



'UE4 > Tutorials_Web' 카테고리의 다른 글

Creating a custom interpolation with bounce , double jump  (0) 2018.11.07
blueprintue.com  (0) 2018.08.04
Guide to modifying effect sizes  (0) 2018.02.10
UE4 tut info  (0) 2017.02.28
Tutorial package List  (0) 2017.02.13
:
Posted by fx0275


Cloudscape! - Houdini for Games


https://sidefx.com/tutorials/cloudscape-houdini-for-games/



Tutorial by Andreas Glad - - - - - - - vimeo.com/partikel
Download scene files here - - - - - - sidefx.com/tutorials/cloudscape-houdini-for-games




if u  have viewport clipping problems~

press Space+H 

Display option short key : D


https://www.sidefx.com/forum/topic/29087/


http://www.sidefx.com/docs/houdini/basics/view



CurveSweeper - Intro to Houdini Engine // Houdini for Games


https://sidefx.com/tutorials/curvesweeper-intro-to-houdini-engine-houdini-for-games/


CurveSweeper - Intro to Houdini Engine // Houdini for Games from Go Procedural on Vimeo.





'Houdini > Tutorial' 카테고리의 다른 글

Tutorial List  (0) 2017.06.28
Splashmesh export / UE4  (0) 2017.04.22
Tutorial Site List  (0) 2017.02.28
:
Posted by fx0275
2017. 5. 10. 17:42

Particle parameter control UE4/Practice2017. 5. 10. 17:42

Wind direction source or similar affecting all particles?

https://answers.unrealengine.com/questions/272221/wind-direction-source-or-similar-affecting-all-par.html


Particle Instance Parameters Tutorial

https://wiki.unrealengine.com/Particle_Instance_Parameters_Tutorial



https://answers.unrealengine.com/questions/162239/set-vector-parameter-for-particle-emitter-via-sour.html



Eric Ketchum ♦♦ STAFF Jan 27 '15 at 7:53 AM

The Max and Min Inputs and Outputs function like clamps and can be usefully in certain aspects if you have moving points that you want to stop the beam from going beyond A or B in either direction. For what you are trying to do I would set all the Min Inputs and Outputs in Source and Target to -5000,-5000,-5000 and the Max Inputs and Outputs to 5000, 5000, 5000

Eric Ketchum


'UE4 > Practice' 카테고리의 다른 글

unreal forum  (0) 2017.05.19
hlsl 내장함수  (0) 2017.05.19
PopcornFX plugin  (0) 2017.05.04
Live Stream - Realtime Simulation Volume Modeling Experiments  (0) 2017.05.04
Material Function Reference  (0) 2017.04.26
:
Posted by fx0275
2017. 5. 10. 11:34

アナザーエデン 時空を超える猫 Life/Game2017. 5. 10. 11:34

アナザーエデン 時空を超える猫

https://another-eden.jp/





◆スタッフ
 <シナリオ・演出>
  加藤正人(代表作:「クロノトリガー」)
 <メインテーマ>
  光田康典(代表作:「クロノトリガー」)
 <コンポーザー>
  土屋俊輔(代表作:「ルミナスアーク」シリーズ)
  マリアム・アボンナサー
 <アートディレクター>
  江草天仁(代表作:「びんちょうタン」)
 <メインプログラマー>
  阿部智司(代表作:「ルーンファクトリー」シリーズ)
 <プロデューサー兼ディレクター>
  高大輔(代表作:「ぷよぷよ!!クエスト」)



『アナデン』誕生秘話



シングルプレイ専用という新しい試み

──リリース以来、ダウンロード数、セールスランキングともに好調ですが、現在の手ごたえはいかがですか?

 これまでのスマートフォンゲームになかった作品にできてうれしいと思っています。予想を遥かに超えた反響もいただけていて制作者冥利に尽きます。

──これまでのスマートフォンゲームとは異なる形で挑戦することに対して不安はなかったのですか?

 少なくとも私自身はなかったですね。2年前の制作開始から、流行っている形で作っても勝負できないと思っていたので、業界をビックリさせられるような新しいゲームを作りたいと考えていました。

──それが“シングルプレイ専用”という新しい形に?

 はい。ただ、新しい形と言っても、これってこれまで日本が作ってきた旧来のRPGのスタイルであると思うんですよ。ただ、それを新しいビジネスモデルで、スマートフォンという新しいプラットフォームで展開することがこれまでになかったというだけで。

──確かに実際にプレイしてみても昔ながらの日本のRPGっぽさを感じました。“JRPG”感を演出するためにどのような工夫をされたんですか?

 まず第一にシングルプレイ専用であることですね。もともと日本のRPGはシングルプレイだったと思うんですが、スマートフォンゲームだからマルチプレイやスタミナ制を導入しないといけないという固定概念が業界全体に深く根付いていて、まずそこに立ち向かっていかないと新しいゲームは生まれないと考えました。

IMG_2603

──ゲーム起動時のお知らせや通知がないのもスマホゲームらしからぬ部分ですよね。

 じつはそういったシステム自体は備わっているんです。ただ、お客様の声でそういう部分がいいよねという声をいただいていたり、我々開発チームもそのほうがいいと考えているため、現状この形になっています。

──従来のスマホゲームと一線を画した作りですが、制作に際して周囲の反応はいかがでしたか?

 最初のうちは、社内でも社外でも反対意見が多かったです。ただ、そこは粘り強く、強い信念を持って戦ってきました。方針は2年前からまったくぶれていません。

──やはり反対の声も多かったんですね。

 誰がどう考えても無理だと思うのは当然だと思うんですよ。でも誰もが無理と思うからこそ、いろいろチャレンジできました。

もっともこだわったのは快適な操作性

──タイトルである『アナザーエデン』にはどのような意味が込められているのでしょうか?

 タイトルの意味はゲームをプレイしていただければ「あ、そういうことか!」とわかるキーワードになっています。ゲームクリアーまで進めていただければ「なるほど」とわかっていただけると思います。

──“時空を超える猫”というサブタイトルにもなっており、パーティとともに行動している猫にも何か秘密が?

 最後まで読み進めていただければわかると思いますので、ぜひストーリーを進めていただればなと。

IMG_4455
▲パーティといっしょに行動する猫。この猫に一体どのような秘密が……?

──ちなみに、街にも猫がいますが、あちらは?

 かわいいですよね。“いま”はかわいい。

──なるほど。すごく含みを感じますが(笑)。

 かわいいです(笑)。

──(笑)。ストーリーはもちろん、バトルやキャラのセリフひとつひとつにこだわりを感じますが、もっとも開発に時間を費やした部分はどこですか?

 開発期間の最初の半年から1年のあいだは、とにかく操作性の向上に時間を費やしました。ゲーム自体がおもしろくても操作性が煩雑で面倒であれば、ゲームとして成り立たないし、楽しくプレイし続けることもできないと思うので、ベースとなる操作感を作ることに重点を置きました。

──操作面も含めて、非常に完成度が高いと感じたのですが、高さんの中で現時点での完成度は?

 クオリティは100%だと思っています。ボリュームについては0.1%じゃないでしょうか。

── 0.1%!? 99.9%もまだ残していると。

 いまの段階で何ヵ月も遊べるゲームになっているとは思っていないので、これからどんどん遊べるコンテンツを増やしていきたいです。また、ゲームの中だけでなく、外の世界にも『アナザーエデン』を普及していきたいと考えています。『アナザーエデン』はまだ生まれたばかりの赤ちゃんなので、それを育てるも育てないもこれから次第というわけです。

── 「10章や13章などのボスが強くて勝てない」という声をよく聞くのですが、このあたりの難易度の高さにもこだわりが?

 今作では“レベル上げが楽しい”という部分を重視していています。レベルを上げて強くなって、これまで勝てなかったボスに勝てる、それが楽しいと。いきなり敵が出てきてそれをなんとなく倒してっていうのはもはやゲームではないと思っているので、楽しくレベル上げしてボスに挑んでほしいですね。







:
Posted by fx0275
2017. 5. 8. 15:42

note Houdini/H_Practice2017. 5. 8. 15:42


VDB

http://www.museth.org/Ken/Publications_files/Museth_TOG13.pdf


We have developed a novel hierarchical data structure for the efficient representation

of sparse, time-varying volumetric data discretized on a 3D

grid. Our “VDB”, so named because it is a Volumetric, Dynamic grid that

shares several characteristics with B+trees, exploits spatial coherency of

time-varying data to separately and compactly encode data values and grid

topology. VDB models a virtually infinite 3D index space that allows for

cache-coherent and fast data access into sparse volumes of high resolution.


http://www.openvdb.org/documentation/doxygen/faq.html#sWhatIsVDB


OpenVDB is a library comprising a compact hierarchical data structure and a suite of tools for the efficient manipulation of sparse, possibly time-varying, volumetric data discretized on a three-dimensional grid. It is based on VDB, which was developed by Ken Museth at DreamWorks Animation, and it offers an effectively infinite 3D index space, compact storage (both in memory and on disk), fast data access (both random and sequential), and a collection of algorithms specifically optimized for the data structure for common tasks such as filtering, constructive solid geometry (CSG), discretization of partial differential equations, voxelization of polygons, skinning of particles, volumetric compositing and sampling. The technical details of VDB are described in the paper "VDB: High-Resolution Sparse Volumes with Dynamic Topology".




Mantra

rendering engine > Micropolygon rendering

http://www.sidefx.com/docs/houdini/render/understanding


................

Micropolygon rendering was a performance compromise that has largely been supplanted by raytracing in modern rendering setups. The micropolygon algorithm was designed for memory efficiency: geometry is diced and shaded once, then discarded when it is no longer needed (though it remains in memory if it is hit by a ray). Now that we have models with very high polygons counts and machines with tons of memory, raytracing/PBR is usually a more efficient method.

............

The "Physically based micropolygon" setting exists in case someone found a need for it, but is not really useful.


The following might be reasons to use the micropolygon rendering engine:


Scenes involving a lot of fur and/or smoke (using deep shadow maps), or sprites, can render more efficiently with micropolygon rendering, provided you are not using ray traced shadows or other ray tracing in the shader. Note that you might want to render fur and volumes as a separate render pass using micropolygon rendering and render the rest of the scene using PBR.

Scenes that require matching existing footage rendered with micropolygon settings.

'Houdini > H_Practice' 카테고리의 다른 글

-book : 후디니로 구현하는 알고리즘 디자인  (0) 2021.08.04
TWA study  (0) 2021.04.07
Joy of Vex  (0) 2021.03.09
Pyro FX  (0) 2017.03.22
:
Posted by fx0275