tyflow中script節(jié)點歐拉角轉(zhuǎn)換四元數(shù)的函數(shù)
最近在研究tyflow script,script操作符支持C#編程,但和unity中不同的是,untiy提供了非常多的方法來轉(zhuǎn)換,而tyflow的API只提供了tf.SetRot方法而且只接受四元數(shù)輸入;
四元數(shù)并不直觀,從XYZ的歐拉角到四元數(shù),需要做一些變換,詳細(xì)請看
https://www.3dgep.com/understanding-quaternions/
?
tyflow不提供,只能自己寫,這是一個簡單的函數(shù),通過輸入一個point3型的變量,輸出一個Quat型的四元數(shù)
調(diào)用的話,可以在任意過程里調(diào)用,這里示例了在simulationStep中,先獲取設(shè)置隨機(jī)seed,生成隨機(jī)數(shù)并乘以90度,將其轉(zhuǎn)換為四元數(shù)賦值的過程
seed是一個Float值所以需要轉(zhuǎn)為int,是在script的Float卷展欄里設(shè)置的,偷懶也可以不用設(shè)置,返回0應(yīng)該不會報錯

標(biāo)簽: