2012-03-20 2 views
5

저는 iOS에서 2D 플랜트의 성장을 프로 시저로 애니메이션하는 최상의 방법을 찾아 내려하고 있습니다.2D 플랜트의 프로 그래밍 애니메이트

나는 사용자에게 잠식감을주기 위해 식물을 움직이기 원합니다. 기본적으로 나뭇 가지의 성장에 활력을 불어 넣고 작은 새싹이 생겨나 자마자 전체 성장 잎에 활력을 불어 넣습니다. 작은 생명을 불어 넣으려면 스크린에 손을 칠하는 느낌보다 식물이 자라는 동안 조금 흔들리는 것이 좋겠다.

내가 생각한 한 가지 방법은 CGPath와 베 지어 곡선을 사용하여 줄기와 나뭇잎의 모양을 만드는 것이지만 패스의 그림을 애니메이션하는 방법을 잘 모르겠습니다. 일단 내가 줄기의 "그림"을 얻으면, 나는 줄이 성장하거나 움직이는 것처럼 줄기의 특정 지점에 작은 새싹을 "심고"싶다. 그리고이 새싹 또한 식물에서 바깥쪽으로 자라기 시작할 것이다.

이 작업을 수행하는 데 필요한 경로는 무엇입니까? 나는 손으로 각 프레임을 그리거나 그런 식으로 애니메이션하는 것과는 대조적으로 절차 적으로 애니메이션을하는 것을 선호합니다. 내 추론은 절차 적으로 애니메이션을 적용하는 것이 시간 소모가 적고 애니메이션의 여러 측면을보다 잘 제어 할 수 있으며 다른 프로젝트에서도 재사용이 가능할 것이라고 생각합니다 (프로그래밍하는 것도 즐겁습니다!)

' 애니메이션 라인의 그림을 그리기 위해 블로그에 올린 글은 다음과 같습니다. http://oleb.net/blog/2010/12/animating-drawing-of-cgpath-with-cashapelayer/ 아마 내가 원하는 결과를 얻기위한 시작 방법 일 것입니다. 나는 앉아서 코드를 게시해야합니다.

또, 이것은 아마도 cocos2d 또는 비슷한 것을 사용하는 것이 더 쉬울 수도 있습니다. 아니면 쿼츠 코어와 핵심 애니메이션이 잘 작동합니다.

의견을 보내 주셔서 감사합니다. 현재 유용한 정보가 있습니다.

+0

당신은 확실히 CAShapeLayers로 올바른 길을 가고 있습니다. 그러나 당신이하려는 것은 까다 롭습니다. 그럼에도 불구하고, 큰 질문입니다! 내 즐겨 찾기 목록에 분명히 있습니다. – pasawaya

+0

일부 자원 링크를 응답이없는 것으로 추가했습니다. 어쩌면 당신이 찾고 있었던 것 이상이지만, 정말 풍부한 알고리즘 영역입니다 (그리고 아마도 당신이 찾고 있었던 것 이상입니다). 그럼에도 불구하고, 몇 가지 아이디어를 줄 수 있습니다. –

+0

CW 답변에 몇 가지 리소스를 추가했지만 L-Systems 등과 함께 복잡한 3D 트리 생성 알고리즘을 찾는 것이 아니라 간단한 2D 만화 트리의 애니메이션을 만드는 방법에 대한 느낌이 듭니다. – pasawaya

답변

2

(대단한 질문입니다. 답변이 아니고 일부 참조가 있기 때문에 위의 질문을 "커뮤니티 위키"로 게시하면 의견이 엉망이되기를 바랍니다. 아마도 사람들이이 기사에 추가하고 싶습니까?)

"절차 트리 분기 코드"에 간단한 검색을했는데 흥미로운 히트가 많이있었습니다. 정말 풍부한 영역이었습니다.

gameDev.stackExhange에 게시물이 훌륭한 자원을 지적 :

Algorithmic Botany 또한 Snappy Tree 꽤 놀라운 소스 코드를 사용할 수 있습니다.

이 두 흥미 소리 :

TReal는 사실적인 3D 트리 모델을 생성 할 수있는 프로그램입니다.

Arbaro은 Java로 작성된 Jason Weber & Joseph Penn : "현실적인 나무의 생성 및 렌더링"에 설명 된 트리 생성 알고리즘의 구현입니다.

아마도 OP에 더 쉽게 액세스 할 수 있고 결과는 fractal trees 인이 actionscript 자습서가 더 복잡 할 수도 있습니다. ActionScript 드로잉 코드는 Core Graphics로 쉽게 변환됩니다.

관련 문제