초급강좌 varrandom을 이용한 AI 변환법. > 기초 이해 강좌

본문 바로가기
사이트 내 전체검색

기초 이해 강좌

초급강좌 varrandom을 이용한 AI 변환법.

페이지 정보

profile_image
작성자 Leona123
댓글 0건 조회 637회 작성일 24-10-06 12:46

본문

이를 테면 cmd나 tan파일 에서  changestate명령을 걸었다고 칩시다. 

그러면 바로 해당 기술로 이어지게 하거나 아니면 그스테이트를 varrandom으로 기술들이 변환되게 하여지는 스테이트로 만들어 ifelse를 대체하여 사용할수 있습니다. 

예제) 

[Statedef 10000]
type = S


[State 10000, choose]
type = VarRandom
trigger1 = time = 0
v = 0
range = 0,13


[State 10000]
type = ChangeState
trigger1 = Time = 0
trigger1 = Var(0) = 0
trigger1 = PrevStateno = 10 ;이전스테이트를 반영하는 명령어 입니다.
value = 1

[State 10000]
type = ChangeState
trigger1 = Time = 0
trigger1 = Var(0) = [1,6] ;'var(0)의 값이 1에서 6사이일때'라는 조건입니다.
trigger1 = PrevStateno = 10 ;이전스테이트를 반영하는 명령어 입니다.
value = 2

[State 10000]
type = ChangeState
triggerall = Time = 0
trigger1 = Var(0) = [9,13]
trigger1 = PrevStateno = 10 ;이전스테이트를 반영하는 명령어 입니다.
trigger1 = Var(0) = [7,16]
value = 3

[State 10000]
type = ChangeState
trigger1 = Time = 0
trigger1 = Var(0) = [7,8]
trigger1 = PrevStateno = 10 ;이전스테이트를 반영하는 명령어 입니다.
value = 4

위의 예제에서 주의 깊게 보실것은 바로 varrandom 입니다. 

[State 10000, choose]
type = VarRandom
trigger1 = time = 0
v = 0
range = 0,13
 
varrandom 말그대로 var에 임의적으로 상수를 부여하는 명령어입니다. 
글로 장황하게 쓰는 것 보단 그냥 뜯어보겠습니다. 

[State 10000, choose]
type = VarRandom
trigger1 = time = 0
v = 0                                    ;var(0)라는 의미입니다. 이를테면 v = 1 하면 var(1)을 지정하겠다는 말이 되겠죠.
range = 0,13                         ;0에서 13까지의 수중 임의적으로 상수를 부여한다는 말입니다. 

이해되셨을지 모르겠지만, 이렇게 하면 이스테이트로 진입시 var(0)의 값이 그때그때 바뀐다는 의미가 됩니다. 
그래도 이해가 힘드시면 그냥 외우시기 바랍니다. --;;
그다음은 임의로 var(0)를 지정했으니, 스테이트를 바꿔야 겠죠? 
그예제입니다. 

[State 10000]
type = ChangeState
trigger1 = Time = 0
trigger1 = Var(0) = 0
trigger1 = PrevStateno = 10 ;이전스테이트를 반영하는 명령어 입니다.
value = 1

[State 10000]
type = ChangeState
trigger1 = Time = 0
trigger1 = Var(0) = [1,6]                ;'var(0)의 값이 1에서 6사이일때'라는 조건입니다.
trigger1 = PrevStateno = 10 ;이전스테이트를 반영하는 명령어 입니다.
value = 2

중요한 것은 바로. 

trigger1 = Var(0) = [1,6]

저괄호 [] 안의 숫자를 변경하여 제작자 즉, 본인이 원하는 수치를 넣어주도록 합니다. 
그럼 수치만큼의 확률로 캐릭터가 해당 기술을 구사합니다. 
꼭 cmd에서의 ifelse나 state를 랜덤하게 분할하지 않아도, varranddom을 통해서도 임의적으로 기술을 사용하도록 만들수 있습니다. 


* 진위여부는 모르겠으나 varrandom 명령어를 인식하지 못하는 무겐도 있다고 들었습니다. 
이방법으로 동작을 안한다 생각되시면 아래의 ifelse의 방법대로 하시는 것을 추천합니다. 
되신다면 cmd파일의 꼬이고 꼬인 스테이트들이 간소화할수 있게 되니 이또한 추천하는 방법중 하나입니다. 
추천0

댓글목록

등록된 댓글이 없습니다.


개인정보취급방침 이용약관 모바일 버전으로 보기 상단으로

Copyright © 무겐 어소시에이션 All rights reserved.