Three.js: 그림자 맡-투λͺ… 평면에 그림자 νˆ¬μ‚¬

에 λ§Œλ“  2012λ…„ 04μ›” 23일  Β·  28μ½”λ©˜νŠΈ  Β·  좜처: mrdoob/three.js

μ•ˆλ…•ν•˜μ„Έμš”,

평면에 적용된 재질이 μ•„λ‹Œ 그림자 만 ν‘œμ‹œν•˜λ €λ©΄ 투λͺ… 평면에 그림자λ₯Ό νˆ¬μ‚¬ν•΄μ•Όν•©λ‹ˆλ‹€ (μ™„μ „νžˆ 투λͺ…ν•˜κ²Œ λ§Œλ“€κ³  μ‹ΆμŠ΅λ‹ˆλ‹€). three.jsμ—μ„œ κ°€λŠ₯ν•©λ‹ˆκΉŒ? THREE.SpotLight 을 κ΄‘μ›μœΌλ‘œ μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

ν•΄κ²° λ°©λ²•μœΌλ‘œ μ™„μ „νžˆ 투λͺ…ν•œ ν…μŠ€μ²˜ 맡을 재질둜 μ μš©ν•˜κ³  μ˜ˆμƒλŒ€λ‘œ μž‘λ™ν•˜λŠ”μ§€ 확인할 수 μžˆλ‹€κ³  μƒκ°ν•˜μ§€λ§Œ ν‘œμ€€ 재질 속성을 μ‘°μ •ν•˜κΈ° λ§Œν•˜λ©΄μ΄ 효과λ₯Ό 얻을 수 μžˆλŠ”μ§€ κΆκΈˆν•©λ‹ˆλ‹€.

감사

Question

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

r77 ShadowMaterial 이 (κ°€) 이제 코어에 μžˆμŠ΅λ‹ˆλ‹€.

λͺ¨λ“  28 λŒ“κΈ€

확인 μ‹œλ„ν•œ ν•΄κ²° 방법이 투λͺ… ν…μŠ€μ²˜ 맀핑 평면에 그림자λ₯Ό λ“œλ¦¬μšΈ 수 μ—†κΈ° λ•Œλ¬Έμ— μž‘λ™ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” 그것이 κ°€λŠ₯ν•˜μ§€ μ•Šλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

μ§ˆλ¬Έμ„ μ΄ν•΄ν–ˆλŠ”μ§€ 잘 λͺ¨λ₯΄κ² μ§€λ§Œ 투λͺ…ν•œ μž¬μ§ˆμ— κ·Έλ¦Όμžκ°€ λ“œλ¦¬μ›Œμ Έ μ•Όν•©λ‹ˆλ‹€.

μ•ˆλ˜λŠ” 것은 투λͺ…ν•œ λ¬Όμ§ˆμ„ 톡해 빛이 λΉ„μΉ˜λŠ” κ²ƒμž…λ‹ˆλ‹€. 즉, λͺ¨λ“  것이 μ™„μ „νžˆ 뢈투λͺ…ν•˜κ±°λ‚˜ κ·Έλ¦Όμžμ— λŒ€ν•΄ μ™„μ „νžˆ 투λͺ…ν•˜λ©°, 재료 투λͺ…도와 관계없이 κ·Έ μ‚¬μ΄μ—λŠ” μ—†μŠ΅λ‹ˆλ‹€.

# 1509의 ν† λ‘  μ°Έμ‘°

μ•ˆλ˜λŠ” 것은 투λͺ…ν•œ λ¬Όμ§ˆμ„ 톡해 빛이 λΉ„μΉ˜λŠ” κ²ƒμž…λ‹ˆλ‹€. 즉, λͺ¨λ“  것이 μ™„μ „νžˆ 뢈투λͺ…ν•˜κ±°λ‚˜ κ·Έλ¦Όμžμ— λŒ€ν•΄ μ™„μ „νžˆ 투λͺ…ν•˜λ©°, 재료 투λͺ…도와 관계없이 κ·Έ μ‚¬μ΄μ—λŠ” μ—†μŠ΅λ‹ˆλ‹€.

λ„€, 그게 κ·Έκ°€ μ˜λ―Έν•˜λŠ” 것 κ°™μ•„μš”.

참고둜 λˆ„κ΅¬λ‚˜ ν•„μš”ν•˜λ©΄ http://pastie.org/5088640

@skrat κ·Έ 쉐이더에 λŒ€ν•΄ 백만λͺ… κ°μ‚¬ν•©λ‹ˆλ‹€. 그림자 ν¬μˆ˜μ—κ²Œ μ™„λ²½ν•˜κ²Œ μž‘λ™ν•©λ‹ˆλ‹€!

@etx μ–΄, κ·Έ μ‰μ΄λ”λŠ” λ¬΄μ—‡μ„ν•©λ‹ˆκΉŒ? :유

μ•ŒνŒŒμ™€ ν•¨κ»˜ 그림자λ₯Ό μ œκ³΅ν•˜κ³  ν•΄λ‹Ή μ…°μ΄λ”κ°€μžˆλŠ” λ‚˜λ¨Έμ§€ μ˜€λΈŒμ νŠΈλŠ” 보이지 μ•ŠμŠ΅λ‹ˆλ‹€. CGI μ†Œν”„νŠΈμ›¨μ–΄μ˜ μ„€λ„μš° μΊμ²˜μ™€ μœ μ‚¬ν•©λ‹ˆλ‹€. μ €λŠ” threejsλ₯Ό μ‚¬μš©ν•˜μ—¬ 사진 μœ„μ— μ œν’ˆμ„ λ Œλ”λ§ν•˜λ―€λ‘œ 맀우 μœ μš©ν•©λ‹ˆλ‹€.

μ•„ λ§žλ‹€. λ”°λΌμ„œ μ•ŒνŒŒ 채널에 μ €μž₯된 κ°€μ‹œμ„±κ³Ό ν•¨κ»˜ 검은 ν…μŠ€μ²˜λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€. μ˜³μ€?

λ„€!

@etx μœ„μ˜ 셰이더λ₯Ό μ‚¬μš©ν•˜μ—¬ μ–΄λ–»κ²Œμ΄ μž‘μ—…μ„ μˆ˜ν–‰ ν•  수 μžˆμŠ΅λ‹ˆκΉŒ? λ‚΄κ°€ μ–»λŠ” 것은 단지 검은 색 λΉ„ν–‰κΈ° ...

λ‚˜λŠ” 그의 효과λ₯Ό μ–»λŠ” 방법을 μ°Ύκ³  μžˆμ—ˆμ§€λ§Œ μœ„μ˜ 슀 λ‹ˆνŽ«μ„ μ‚¬μš©ν•˜λ©΄ THREE.WebGLShader: Shader couldn't compile. 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€.

@skrat 셰이더λ₯Ό λ‹€μ‹œ μ—…λ‘œλ“œ ν•  수 μžˆμŠ΅λ‹ˆκΉŒ? Pastie 링크가 더 이상 μž‘λ™ν•˜μ§€ μ•ŠμœΌλ©° 사전에 λ˜‘κ°™μ€ λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. κ°μ‚¬ν•©λ‹ˆλ‹€!

@etx @skrat μ—…λ°μ΄νŠΈ 된 셰이더λ₯Ό λ‹€μ‹œ μ—…λ‘œλ“œ ν•΄ μ£Όμ‹œκ² μŠ΅λ‹ˆκΉŒ? κ²Œμ‹œ ν•œ ν•­λͺ©μ΄ 더 이상 μž‘λ™ν•˜μ§€ μ•ŠλŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. @JosephClay 처럼 "셰이더λ₯Ό 컴파일 ν•  수 μ—†μŠ΅λ‹ˆλ‹€"였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€.

THREE.ShadowMaterial() μ‹œλ„ν•΄λ³΄μ„Έμš”. 이 stackoverflow κ²Œμ‹œλ¬Όμ„ μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€.

@WestLangley ShadowMaterial 을 μ½”μ–΄λ‘œ ν™λ³΄ν•΄μ•Όν•œλ‹€κ³  μƒκ°ν•˜μ‹­λ‹ˆκΉŒ?

@WestLangleyλŠ” 정말 κ°μ‚¬ν•©λ‹ˆλ‹€. @mrdoob GCIμ—μ„œ λ§Žμ€ μ‚¬λžŒλ“€μ΄ μ•Œκ³ μžˆλŠ” 맀우 μœ μš©ν•œ κΈ°λŠ₯μ΄λ―€λ‘œ 코어에 λŒ€ν•œ 쒋은 ν”„λ‘œλͺ¨μ…˜μ΄ 될 수 μžˆμŠ΅λ‹ˆλ‹€.

@WestLangley μš°λ¦¬κ°€ ShadowMaterial을 μ½”μ–΄λ‘œ ν™λ³΄ν•΄μ•Όν•œλ‹€κ³  μƒκ°ν•˜μ‹­λ‹ˆκΉŒ?

λ‚˜λŠ” μ–΄λ–€ 식 μœΌλ‘œλ“  κ°•ν•œ λŠλ‚Œμ„ 가지고 μžˆμ§€ μ•Šλ‹€ ... λ‚΄κ°€ μ°©κ°ν•˜μ§€ μ•ŠμœΌλ©΄ MeshLambertMaterial 와 같은 결함을 κ²ͺλŠ”λ‹€-ν•œ λΉ›μ˜ κ·Έλ¦Όμžμ—μžˆλŠ” 텍셀은 λ‹€λ₯Έ λΉ›μœΌλ‘œλΆ€ν„° 빛을받지 λͺ»ν•œλ‹€ .

λ„€, λ§ˆμŠ€ν¬μ˜ˆμš”. 기본적으둜 였래된 κ·Έλ¦Όμžκ°€ μ–΄λ–»κ²Œ μ‚¬μš©λ˜μ—ˆλŠ”μ§€.

μ•ˆλ…•ν•˜μ„Έμš”,

ShadowMaterial은 μ œκ°€ ν•„μš”λ‘œν•˜λŠ” 것과 λ˜‘κ°™μ΄ 듀리며 μ—¬λŸ¬λΆ„μ΄ 그것을 κ΅¬ν˜„ ν•΄μ£Όμ…”μ„œ 맀우 κΈ°μ©λ‹ˆλ‹€.ν•˜μ§€λ§Œ μ–΄λ–€ λ²„μ „μ˜ three.jsλ₯Ό λ‹€μš΄λ‘œλ“œ / 링크해야 μž‘λ™ν•˜λŠ”μ§€ μ•Œ 수 μ—†μŠ΅λ‹ˆλ‹€. μ˜¬λ°”λ₯Έ λ°©ν–₯으둜 λ‚˜λ₯Ό 가리킬 수 μžˆμŠ΅λ‹ˆκΉŒ?

r74 이상

κ°μ‚¬ν•©λ‹ˆλ‹€! λ‚˜λŠ” μ—¬μ „νžˆ THREE.ShadowMaterial은 μƒμ„±μžκ°€ μ•„λ‹™λ‹ˆλ‹€.

아직 λΉŒλ“œμ— ν¬ν•¨λ˜μ–΄ μžˆμ§€ μ•ŠμœΌλ©° 예제 폴더에 μžˆμŠ΅λ‹ˆλ‹€. λ³„λ„λ‘œ ν¬ν•¨ν•΄μ•Όν•©λ‹ˆλ‹€.

<script src="js/materials/ShadowMaterial.js"></script>

μ½”μ–΄λ‘œλ„ 홍보 ν•  κ²ƒμž…λ‹ˆλ‹€. 4kbμž…λ‹ˆλ‹€.

μ™„λ²½ν•©λ‹ˆλ‹€, κ°μ‚¬ν•©λ‹ˆλ‹€! 전에 shadowMaterial νŒŒμΌμ„ μ°Ύμ•˜μ§€λ§Œ 찾을 수 μ—†μ—ˆμŠ΅λ‹ˆλ‹€.
λ‚΄ ν•„μš”μ— 따라 ν™˜μƒμ μœΌλ‘œ μž‘λ™ν•©λ‹ˆλ‹€.

r77 ShadowMaterial 이 (κ°€) 이제 코어에 μžˆμŠ΅λ‹ˆλ‹€.

νŠΈμœ— λ‹΄μ•„ κ°€κΈ°

THREE.ShadowMaterial() μ‹œλ„ν•΄λ³΄μ„Έμš”. 이 stackoverflow κ²Œμ‹œλ¬Όμ„ μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€.

감사.
νš¨κ³Όκ°€μžˆλ‹€!

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰