실시간으로 예술적 (2D) 트리를 절차 적으로 (만들기) 성장시키는 방법 (L-System?)


20

최근에 L- 시스템 모듈을 프로그래밍 했는데 더 관심이 생겼습니다. 나는 Plants vs Zombies 중독자이기도합니다. 정말 지혜로운 나무의 개념을 좋아했습니다. 재미를 위해 유사한 절차 예술을 만들고 더 많은 것을 배우고 싶습니다.

질문 : 예술적 트리 (고정 카메라 / 관점을 가진 2d)를 동적으로 만드는 과정에 어떻게 접근해야합니까?

이상적으로는 식물 (잎이있는 줄기 만)으로 시작하고 구조에 미치는 영향 (입력 / 사용자 작업)을 사용하여 동적으로 자랍니다. 이러한 영향으로 인해 분기의 종류, 가지의 곡선, 퍼짐, 과일의 위치, 꽃의 색 등이 발생할 수 있습니다. 실제로 삶 / 정신으로 가득 차기를 원합니다. :)

Plants vs Zombies : 지혜의 나무 비슷한 나무를 역동적으로 키우는 것이 좋지만 더 많은 변형과 애니메이션이 발생합니다.

내 배경 : 프로그래머, 게임 엔진 (Ogre3d, cocos2d, unity)을 거의 사용하지 않았습니다. 실제로 openGL을 사용하여 직접 프로그래밍하지 않았으므로 수정하려고했습니다. :)

상당한 시간을 할애 할 준비가되었습니다. API에 대해 알려주세요. 그리고 당신 같은 전문가가이 문제를 어떻게 해결할 것입니까?

왜 2D인가? 2 차원 만 고려하면 문제를 해결하는 것이 더 쉽다고 생각합니다.

예술적 영감 :

과일과 잎이 있고 나무가 바닥에없는 나무

왼쪽, 원숭이 뒤에 있는 큰 나무 (눈에 보이는 가지, 녹색 잎, 꽃, 과일 등).

PixelJunk의 Eden (아트 스타일 영감).

프랙털을 사용하여 절차 적으로 생성 된 애플 트리

질문을 이해하기 쉬운 경우 알려 주시면 더 자세히 설명하겠습니다.

다양한 접근 방식에 대한 토론이 모든 사람에게 도움이 되길 바랍니다. 당신들은 멋진데.


2
나는 당신에게 대답을하지 못할 수도 있지만, 이것이 어디로 가고 있는지 분명히 알고 싶습니다. 멋진 컨셉!
Bloodyaugust

좋은 질문입니다. 저는 L-Systems에 관심이 있었지만 그 관심을 가지고 아무 것도하지 않았습니다 :)
Luther


1
@Stephen 단지 그래서 당신은이 질문은 2011 년부터이며, 밖으로 편집 질문 요청하는 사용자가 정상에 necro'd있어 알 Student/에서Student/Programmer
PeterT

@lalan 질문에 중요한 내용 만 수정하십시오. 더 이상 학생이 아니라는 사실은 큰 변화가 아니거나 편집해야 할 이유가 아닙니다.
MichaelHouse

답변:



8

"게임"에 대한 몇 가지 아이디어 :

  • 자신의 트리 이름을 먼저 사용자에게 프롬 트하십시오. 이 이름을 사용하여 알고리즘의 시드를 생성하십시오. 따라서 모든 이름에는 고유 한 트리가 있습니다. 씨앗은 또한 나무의 단풍과 과일의 종류에 영향을 줄 수 있습니다.
  • "나무 tamagotchi "를 구현할 수 있습니다. 여기서 나무는 더 커지고 더 잘 자랍니다.
  • 가장 높은 나무의 최고 점수 목록을 만듭니다. 다른 아이디어는 트리 옆에 다른 사용자의 키와 이름을 표시하는 것입니다. 따라서 나무 높이를 다른 사용자와 직접 비교할 수 있습니다. 참고 이 비디오를 예로 들어있다. 구름은 다른 사용자가 달성 한 높이를 나타냅니다.

절차 트리 생성을위한 많은 알고리즘과 논문 있습니다 ( 이 스레드는 흥미로울 수 있습니다 ). 어려운 일은 가지를 잘 섞는 것입니다. 알파 블렌딩으로 해결할 수 있기 때문에 2D는 분명히 더 쉬울 것입니다.

Ogre3D, Unitiy 및 cocos2d에 대한 경험이 있으므로 바로 지금 바로 OpenGL을 배울 필요가 없습니다 (IMHO). 개인적으로 cocos2d를 선택하고 iPad 및 / 또는 iPhone 용으로 출시하여 모든 사람이 모바일 장치를 사용하여 자신의 나무를 들고 다닐 수 있습니다.


1
그 게임으로 L-Systems를 사회적 / 경쟁적인 방식으로 플레이하려고합니다.
deft_code

1
gamedev 스레드를 알려 주셔서 감사합니다 .. 멋진 아이디어, tamagotchi 및 goo-tower .. 모바일 응용 프로그램은 정말 멋질 것입니다. 3DS Max 플러그인 비디오를 찾았습니다 . 아주 멋진 링크입니다 .
lal

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.