'Raiden 2'자주색 레이저의 수학은 무엇입니까?


15

레이저의 경로는 화면에 나타나는 사용자 입력 및 적의 영향을받습니다. 다음은 5:00 분에 해당 레이저가 표시된 비디오입니다. Raiden II (PS)-1 Loop Clear-Part 2

최신 정보

다음은 잉크 스케이프를 사용한 테스트이며, 선박은 바닥에 있으며, 처음 4 명의 적은 플라즈마를 대상으로합니다. 일종의 패턴이있는 것 같습니다. 배를 먼저 움직 인 다음 핸들을 45도 각도로 형성 한 다음 커브를 맞추려고 할 때 평행 핸들 패턴을 발견하고 마지막 적에 도달 할 때까지 계속 진행했습니다. 여기에 이미지 설명을 입력하십시오

업데이트, 2012 년 5 월 26 일 : 베 지어를 사용하여 XNA 프로젝트를 시작했지만 여전히 몇 가지 작업이 필요하며 다음 주에 질문을 업데이트 할 것입니다. 지켜봐주세요!

여기에 이미지 설명을 입력하십시오

업데이트 : 2012 년 5 월 30 일 : 실제로 베 지어 곡선을 사용하는 것 같습니다. 그런 등급의 플라즈마를 복제 / 모방 할 수 있다고 생각합니다. 지난번부터 내가 발견 한 두 가지 새로운 주제가 있습니다 : Arc length , Runge 's 현상 , 첫 번째는 베 지어 곡선에서 선형 이동이 가능하도록하고 두 번째는 정점 수를 최적화하는 데 도움이됩니다. 다음에 비디오를 넣어서 진행 상황을 볼 수 있습니다. 8-)


2
음, 그것은 일종의 스플라인입니다. 아마도 베 지어 곡선 . 원래 개발자 이외의 다른 사람이이 질문에 대답 할 수 있는지 잘 모르겠습니다. 이 효과를 다시 만들려면 가지고있는 것을 보여주고 작동하지 않는 것에 대해 알려 주어야합니다.
MichaelHouse

2
모릅니다.하지만 그것에 상당한 양의 급진적 인 것이 있습니다.
Hackworth

1
건강에 해로운 양의 라이덴을 연주 한 결과, 치약이 폐쇄 된 형태의 곡선이라고 의심합니다. 항상 상당한 양의 기억을 유지하는 것처럼 보였습니다. 나는 그것이 의무적 인 회전 반경으로 어떤 종류의 경로를하고 있다고 생각합니다.

@ Byte56 : Shmup 개발자 / 팬이 헌신적입니다. 지금 문서화되거나 리버스 엔지니어링되지 않은 경우 놀랍습니다.

3
배에서 나오는 한 번에 하나의 세그먼트를 최대 굽힘으로 배치하고 각 세그먼트가 근처 또는 배의 움직임 방향에 있으면 적을 향하는 것처럼 보입니다.
Kevin Reid

답변:


6

방금 도움이 될만한 것을 만들었습니다. GLBasic 포럼에서 누군가를 돕기 위해 응답했습니다.

여기 내 제안과 함께 포럼 링크가 있습니다 : Random Textured Rolling Hills

이것은 GLBasic으로 작성되었지만 읽기 쉽게 유지하려고 노력했기 때문에 쉽게 모든 언어로 변환해야합니다.

필요에 따라 사용하려면 스플라인 데이터 / 포인트를 생성해야합니다. 예제의 '힐'포인트를 스플라인 포인트로 바꿉니다. 어떻게 든 애니메이션 / 깜박임 효과를 추가하면됩니다. 임의의 텍스처 이동일 수 있습니다.

실제 '매직'은 내 'AddPoint'함수에서 발생합니다.

FUNCTION AddPoint: h AS THillPoint
    DIMPUSH self.points[], h

    // Is this the very first data point?
    IF LEN(self.points[]) = 1
        self.points[0].pu.Set(0, self.points[0].pm.y - self.texture_ht_up)
        self.points[0].pd.Set(0, self.points[0].pm.y + self.texture_ht_dn)
        RETURN
    ENDIF

    ALIAS h0 AS self.points[-2]  // Reference to the 2nd last point
    ALIAS h1 AS self.points[-1]  // Reference to the last point
    LOCAL angle#
    LOCAL v1 AS TVector
    LOCAL v0 AS TVector

    // Calculate 'p2' of HillPoint - form rectangle with previous point
    angle = ATAN(h1.pm.y - h0.pm.y, h1.pm.x - h0.pm.x)  -90// Angle of the two points

    v1.x = COS(angle) * self.texture_ht_up + h1.pm.x
    v1.y = SIN(angle) * self.texture_ht_up + h1.pm.y
    v0.x = COS(angle) * self.texture_ht_up + h0.pm.x
    v0.y = SIN(angle) * self.texture_ht_up + h0.pm.y
    h0.pu = h0.pu.AverageWith(v0)
    h1.pu.Copy(v1)

    v1.x = COS(angle) * -self.texture_ht_dn + h1.pm.x
    v1.y = SIN(angle) * -self.texture_ht_dn + h1.pm.y
    v0.x = COS(angle) * -self.texture_ht_dn + h0.pm.x
    v0.y = SIN(angle) * -self.texture_ht_dn + h0.pm.y
    h0.pd = h0.pd.AverageWith(v0)
    h1.pd.Copy(v1)
ENDFUNCTION

여기에서 선을 따라 스프라이트를 그리는 최종 쿼드 / 폴리곤을 계산합니다.

최종 결과는 다음과 같습니다. 여기에 이미지 설명을 입력하십시오

그리고 다각형의 와이어 프레임이 켜진 상태에서 : 여기에 이미지 설명을 입력하십시오


1
나는 그것을 볼 것이다. BTW, 당신이 준 링크가 끊어졌습니다.
Aybe

3
링크가 나를 위해 끊어진 것처럼 보이지 않습니다 ...
doppelgreener

방금 Random Textured Rolling Hills 링크를 확인했는데 404 오류가 발생합니다.
Aybe

1
기묘한. 그것은 여전히 ​​나를 위해 작동합니다. 그러나 기본 링크는 다음과 같습니다. glbasic.com/forum/index.php?topic=8118
Doug.McFarlane

나를 위해 깨진, 나는 홈페이지를 시도, 그것은 '작동합니다!'를 보여줍니다 그게 다 이상해
Aybe
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.