Part 29: Pickup Mushroom Setup and Grow
Tutorial 13에서 prefab_pickup_mushroomGrow 복사
mushroom이 움직이고, 벽을 만나게 되면 방향을 바꾸게 하고 있음
mushroom - rigidbody(component)
constrains : rigidbody의 영향을 받지 않는 부분을 설정
Freeze Position : z값 고정
Freeze Rotation : x,y,z값 고정
간단한 "Apply"(prefab) 설명
Apply를 적용하는 경우 만들어져 있는 prefab에 영향을 주게되며, 다음에 이 prefab으로 GameObject를 만드는 경우 변경된 것들이 적용됨
[14:00] 충돌에 따른 행동 변화를 위해
mushroomCollider에 mushroomCollider.cs를 추가
<Source>mushroomCollider.cs
[18:35] mushroomCollider의 방향을 체크해서 왼쪽 및 오른쪽으로 움직이게 함
prefab_pickup_mushroomGrow 에 mushroom.cs를 추가
<Source>mushroom.cs
Part 30: Pickup Mushroom Extra Life
Tutorial 14
Extra Life Mushroom action 및 Pick up
이미 만들어진 스크립트 붙이기
mushroom.cs 붙이기
mushroomCollider.cs 붙이기
itemPickup.cs 붙이기
Sound item Pickcup(public 변수) - mario_1-up
properties에 있는 coins / lives / keys를 모두 HUD에서 관리할 수 있도록 고치는 것이 좋을 듯
Part 31: Fireball projectile
Tutorial 15
Fireball action 처리
Prefab_fireball 끌어다 놓기
[14:10] projectileFireball.cs 골격 및 파이어볼을 위/오른쪽 방향으로 움직이게 하기
Rigidbody >> Use Gravity >> Uncheck
Sphere Collider >> Is Trigger >> Check
<Source>projectileFireball3101
[20:50] Fireball Up/Down 처리
<Source>projectileFireball3102
[37:05] 파이어 볼 충돌 이후 처리
Physics.Raycast() : 특정 위치를 기준으로 방향 직선을 그어 충돌된 객체들을 알아내는 함수(즉 직선과 객체의 충돌 여부를 알려 줌)
참고 : Raycast
여기서는 왼쪽 / 오른쪽 위치에 있는 객체와 충돌 했는지를 알려줌
<Source>projectileFireball3103
[42:04] "enemy"와 충돌했을 때 처리
ParticlePlay() 처리
smokePuff - prefab_particle_smoke 연결
KillFireball() 처리 - 외부의 영향으로 파괴되지 않을 경우 자체적으로 일정 시간 이후에는 자동적으로 파괴될 수 있도록 처리
[44:33 ] Projectile의 Clone을 조정(moveSpeed)할 수 있도록 한다. >> Prefab의 "Apply" 해줘야 함
player >> Collision 박스들 중에 "untagged"로 되어 있는 것들을 다른 태그형 이름(예>"CollionBoxBody")으로 바꿔 준다.
이유 : projectile을 발사하자마자 "untagged"와 충돌해서 위로 발사되게 된다.
playerProperties에서 AddForce로 물리적인 힘을 가해서 Fire Ball을 진행시켰으나, 여기서는 일정 수치의 스피드를 설정할 수 있도록 소스가 바뀜
<Source>projectileFireball3104 / playerProperties3105
Part 32: Block Setup
게임에서 사용되는 Block에 대한 설명
Part 33: Block State Variables
Tutorial 16
생성할 Block들에 대한 기획
Block의 종류들(캐릭터가 헤딩을 했을 때...)
blockBounce : 위 아래로 애니메이션되는 블락
blockCoin : 동전이 나오게 하는 블락
blockBreakable : 부서지는 블락
blockSolid : 절대 부서지지 않는 블락
blockQuestion : 여러가지 아이템이 나오는 블락
blockQuestion에 나오는 아이템들
pickupMushroomGrow : 캐럭터 성장 아이템
pickupMushroomLife : 생명 아이템
pickupFireFlower : 파이어 볼 아이템
Block이 부서지는 애니메이션 동작 종류
breakableGeometry : 애니메이션으로 만들어진 동작을 보여줌
breakableParticles : 파티클 처리 형태로 실시간으로 보여줌
Block Copy
blockBump.cs 추가
Part 34: Block States 1
[01:00] 초기 변수 및 골격
<Source>blockBump3401
[07:16] 애니메이션 구동
Block(blockBounce) 애니메이션
Window >> Animation
Block에 주어진 애니메이션을 확인할 수 있음
애니메이션 실행
animation.Play("blockBounce");
<Source>blockBump3402
[20:17] Block 타입별 처리 골격 및 public 변수들 세팅
설정할 public 변수들
Material Block 1 << tile_brick_3
Material Block 2 << tile_brick_2_solid
Material Block 3 << tile_brick_3
Material Block 4 << tile_question_box
Pickup Coin << prefab_pickup_coin_block
Pickup Mushroom Grow << prefab_pickup_mushroomGrow
Pickup Mushroom Life << prefab_pickup_mushroomLife
Pickup Fire Flower << prefab_pickup_Fire_Flower
Breakable Geometry << prefab_block_breakable_geometry
Breakable Particles << prefab_block_breakable_particle
Sound Bump << mario_bump
Sound Pickup << mario_pickup
<Source>blockBump3403
[30:08] BlockBounce / BlockCoin 처리
BlockBounce : 일반적인 블락
BlockCoin : Coin을 주는 블락
<Source>blockBump3404
[38:21] BlockBreakable / BlockSolid 처리
BlockBreakable : 부서지는 블락
breakablePos를 초기 값에서 설정해 주어야 함
breakablePos = new Vector3(transform.position.x, transform.position.y + 0.25f, transform.position.z - 9.0f);
breakableGeometry : 향후 스크립트를 이용한 애니메이션
breakableParticles : 파티클 시스템을 이용한 애니메이션
BlockSolid : 애니메이션 되지 않는 블락
<Source>blockBump3405
Part 35: Block States 2
[16:28] BlockQuestion 처리
Question Block의 종류
picktupMushroomGrow : 주인공 캐릭터가 픽업할 수 있는 Mushroom 생성(Grow)
pikcupMushroomLife : 주인공 캐릭터가 픽업할 수 있는 Mushroom 생성(Life)
pickupFireFlower : 주인공 캐릭터가 픽업할 수 있는 Mushroom 생성(Fireball)
PickupPos 초기값 설정해 주어야 함(block 위쪽에 생성)
pickupPos = new Vector3(transform.position.x, transform.position.y + 0.45f, transform.position.z - 0.1f);
<Source>blockBump3501
[15:45] 초기화 정리
audio는 시작할 때 soundBump로 세팅
blockCoinAmountReset의 값을 blockCoinAmount로 세팅
[16:25] Question 애니메이션 처리
<Source>blockBump3502
Part 36: Block State After
[08:37] Block State After 처리(캐릭터가 헤딩한 이후 block state를 새롭게 세팅)
blockCoin에서의 BlockStateAfter 처리
blockQuestion에서의 BlockStateAfter 처리
<Source>blockBump3601
Part 37: Block State Conclusion
Block 상태에 따른 Action들에 대한 정리
Part 38: Block Bump
Tutorial 17
blockbounce Prefab으로 만들기(or Apply 적용하기)
Part 39: Block Breakable
Tutorial 18
[11:09 ] Geometry 형태의 블럭 깨지기 정의
prefab_block_breakable_geometry / prefab_block_breakable_particle를 Hierarch에 생성
prefab_block_breakable_geometry
AudioSource << mario_breakblockbump 추가
blockBrakables(GameObject)에 blockBreakables.cs 붙이기
<Source>blockBreakables.cs
[ Source Page05 ]