Super Kawaii Cute Cat Kaoani '분류 전체보기' 카테고리의 글 목록 (12 Page)
728x90

분류 전체보기 167

Motion Fields for Interactive Character Animation 정리(2)

https://chickencat-jjanga.tistory.com/63 Motion Fields for Interactive Character Animation 정리(1) 본 논문에서는 motion field라는 structure를 제안하고 있다. motion field는 어떻게 구성되는지, 또 어떠한 장점이 있는지 차근차근 알아보자. Preliminary Definition 1. Motion States character의 state m를 character 모 chickencat-jjanga.tistory.com 지난 포스트에서 Motion States 표현을 어떻게 하는지, Motion Database는 어떤식으로 생성하는지 Action값이 정해졌을 때 next motion state는 어떻게 결정..

Motion Fields for Interactive Character Animation 정리(1)

본 논문에서는 motion field라는 structure를 제안하고 있다. motion field는 어떻게 구성되는지, 또 어떠한 장점이 있는지 차근차근 알아보자. Preliminary Definition 1. Motion States character의 state m를 character 모든 joint의 pose와 velocity로 표현하였다. m = (x, v) (1) pose x = (x_root, p_0, p_1, ... , p_n) x_root는 3d root position vector, p_0는 root orientation quaternion, p_1, ..., p_n는 joint orientation quaternion. 즉 root의 position과 root 및 joint의 orie..

Blender bvh load 관련 알아낸 사실 정리

File > import > bvh 를 하면 bvh가 import 된다. import 된 모션 데이터를 확인하기 위해서는 bpy.data.actions에서 해당되는 인덱스의 action을 뽑아와야한다. 나의 경우 'aiming1_subject1.bvh'를 import 했기 때문에 action = bpy.data.actions['aiming1_subject1'] 을 하면 내가 import한 bvh의 motion data가 action이라는 변수에 저장되게 된다. action은 여러 정보들로 구성되어있는데 내가 원하는 정보는 매 frame마다 root의 position이 어디에 위치하는지, 그리고 각 관절의 rotation 값은 어떻게 되는지였다. 이를 알기 위해서는 뽑아낸 action에서 fcurves 값..

연구/Blender 2023.03.20

Blender에서 python api 사용하기(operator_simple.py 분석)

Blender에서 기본적으로 제공하는 많은 기능들이 있지만, 그 기능들을 조합해서 실행하거나 나만의 기능을 만들고 싶을 때가 있다. 이때 "기능"이라고 하는 것을 Blender에서는 보통 operator라고 부른다. Blender의 python templates의 operator_simple.py 코드를 분석해보고 operator를 어떤식으로 만들어야하는지 살펴보자. import bpy def main(context): for ob in context.scene.objects: print(ob) class SimpleOperator(bpy.types.Operator): """Tooltip""" bl_idname = "object.simple_operator" bl_label = "Simple Object..

연구/Blender 2023.03.17

angular velocity 구하는 방법

joint local frame 기준 angular velocity 구하는 방법 joint j의 (frame i)에서의 orientation을 rotation matrix로 나타낸 것을 R_prev라고 하자. joint j의 (frame i+1)에서의 orientation을 rotation matrix로 나타낸 것을 R_cur라고 하자. R_prev와 R_cur은 모두 joint local frame에 대해 기술되었다. R_diff = R_pev.T @ R_cur과 같다. 이때 R_diff @ R_prev = R_cur가 성립하기 때문에 R_diff는 R_prev와 같은 frame에 대해 기술되어있다. scaling을 해주기 위해 rotation matrix인 R_diff를 rotation vector ..

isaac gym 자료 너무 없어!

isaac gym 자료 찾다가 화나서 쓰는 글! 새로운 사실을 알아낼때마다 업데이트 할 예정이다.. 누군가에게는 도움이 되길 바라면서..고! 1. IssacGymEnvs의 task 예제코드에서 action의 shape는? (num_envs, action의 차원) 나는 env마다 compute_reward, compute_observation 등의 함수를 각자 호출하는 줄 알았어서 parameter인 action의 shape가 (action의 차원) 인줄 알았다. 그런데 그게 아니라 전체 env에 대해 호출하는거여서 shape가 (num_envs, action의 차원) 모양이다. 2. rigid_body_state는 어떤 frame에 대해 표현되는가? self.gym.acquire_rigid_body_st..

연구/isaac gym 2023.02.15

topic 2-1 Instructions part1

Instruction Set컴퓨터라는 기계가 제공하는 인터페이스이자 서비스1) 초창기의 컴퓨터는 instruction set이 단순했다. (복잡하게 만들 능력이 없었음)2) 메모리가 너무 비싸서 CISC style의 instruction set이 유행하게 되었음3) 메모리가 다시 커지면서 다시 단순한 RISC style의 instruction set이 유행오늘날 모든 프로세서가 RISC style의 instruction set을 사용한다. → 전체적으로는 모두 RISC 스타일로 동일하지만 세부적인 건 프로세서 회사마다 다름. 프로세서 회사들이 서로 다른 instruction set을 만드는 이유는? → 프로세서 산업이 독점성이 있기 때문. 한 사용자가 특정 프로세서를 사용할 때 그 사용자가 쓰는 모든 프..

topic 2-3 run C program

C 프로그램이 어떻게 실행되고 있는지 살펴보고, procedure call의 과정에 대해 살펴보자. Program Execution 프로그램을 실행한다는걸 각각의 레벨에서 다르게 설명할 수 있다. 1) HHL perspectiveObject level: (function보다 high level) Object 레벨의 프로그래밍에서 object들끼리 서로 메세지를 주고 받는식으로 프로그램이 실행된다. 근데 이게 실행차원으로 내려오면 전부 function call, return으로 표현이 된다. 그래서 우리는 function call, return을 중점적으로 배울거임. Procedure level: (Statement level보다 조금 높은 레벨에서 보면) 프로그램이 실행되는 것은 function call..

topic 2-2 instruction part2

Part2 (Control Instructions) 1) Conditional branch2) Unconditional branch(jump)3) Procedure call and return 1) Conditional branchControl Instructions (Branch instruction)control instructions의 기능: control flow(또는 program execution flow)를 바꾼다. → PC 값을 바꾸는거.→ 전체 instruction의 약 20프로 차지 (벤치마크 프로그램 분석시) → common case이므로 branch instruction을 빠르게 구현하는게 중요하다.MIPS conditional branch(or decision making) ins..

topic 2-1 Instructions part1

Instruction Set컴퓨터라는 기계가 제공하는 인터페이스이자 서비스1) 초창기의 컴퓨터는 instruction set이 단순했다. (복잡하게 만들 능력이 없었음)2) 메모리가 너무 비싸서 CISC style의 instruction set이 유행하게 되었음3) 메모리가 다시 커지면서 다시 단순한 RISC style의 instruction set이 유행오늘날 모든 프로세서가 RISC style의 instruction set을 사용한다. → 전체적으로는 모두 RISC 스타일로 동일하지만 세부적인 건 프로세서 회사마다 다름. 프로세서 회사들이 서로 다른 instruction set을 만드는 이유는? → 프로세서 산업이 독점성이 있기 때문. 한 사용자가 특정 프로세서를 사용할 때 그 사용자가 쓰는 모든 프..

728x90
728x90