제가 강의 중 한번정도 언급은 한 것 같은데, 이 강의가 일단 "어떠한 기능을 홀로 만들어볼 수 있는 수준으로 발전하자"가 목표이기 때문입니다. 최적화나 보안 문제에서는 접근 지정자 또한 신중한 선택이 필요하나, 가장 쉬운 방법이 무엇이냐를 기준으로 보면 다른 스크립트에서 접근도 되고 유니티 인스펙터와의 연동도 되는 (것 중에서 가장 짧게 쓸 수 있는) public을 채택한 것입니다.
보통 강의버전을 맞추시는 걸 추천드리긴 하지만 어차피 6.0 이상이면 큰 차이가 없기도 하고 중간에 인풋 핸들링 세팅을 바꿔주시는 거에 제외하면 큰 차이는 없을 것 같습니다. 세팅 변경법은 인터넷에 쳐도 나오고 제 강의 질문 중에도 있으니까 참고해 보시고 직접 질문 주셔도 됩니다.
그.. 뭐라해야되나 엔터키 위, 백스페이스 아래 사이에 있는 키입니다. 키보드마다 표기가 좀 다른 경우가 있는데 보통 \ | ₩ 이거 3개중에 2개가 표기되어 있는 경우가 많습니다. 아마 역슬래시랑 원으로 표기된 키보드가 아닐까 싶긴 하군요 이 키를 shift 누르시고 누르면 ||를 표기할 수 있습니다.
사실 코드 구조가 생각이 안나서 이게 맞는지는 모르겠습니다만 그게 행성에 들어있는 스크립트면 서로 부딪혔을때 각자 OnCollision이 실행돼서 Destroy(this.gameobject) 또한 각자 실행되고, 서로가 자기 자신을 삭제하니 둘다 사라지는 그런 코드가 아니였나 싶네요
지금 입력하신 health.ToString()은 "10"을 적은거에 불과합니다! 그래서 출력하라는 명령을 하려면 print()로 감싸줘야합니다. (혹은 Debug.Log()) 결론적으로는 print(health.ToString()); 으로 고쳐주시면 됩니다! 아마 이 부분에 대한 설명이 조금 뒤에 있어서 혼동이 있으신게 아닐까 싶네요