骨骼資料的進一步優化

2022-04-12 10:27:18 字數 926 閱讀 9731

緣由是看到這篇文章:

主要是這一段話啟發了我:

在之前,精度控制固定為:

float

epsilon 

=powf(

0.1f

, static_cast

<

float

>

(config.precision)); 

//精度

於是將**修改成為:

intdepth 

=std::min(

10, getnodedepth(pbone));

const

float

maxprecision 

=config.precision 

-min_precision 

+1.2f

;float

factor 

=std::max(

1.0f

, maxprecision *(

1.0f

-1.0f

/depth));

epsilon 

=powf(

0.1f

*factor, static_cast

<

float

>

(config.precision)); 

//精度

optimizeskeletal(epsilon, bone.keyframes);

注:getnodedepth是用來取骨骼所在骨架中的深度

maxprecision用來控制最大變化量

factor控制最後的精度,骨骼深度越大,factor越接近maxprecision 

這樣一來,通過觀察,maxprecision = 1.2是個看上去合適的值,動畫不會太受影響,最終的skeleton資料可以減少約0.2 - 0.5不等(相比之前)。 

進一步優化ListView

之前我已經分享過一篇 viewhodler的通用寫法,就是專門用來優化listview的載入的,但是對於複雜的布局,我們還需要在listview滑動和不滑動時進行自己的處理,今天我看到一篇文章就是講這方面的,雖然不是很完善,但思想已經對了。主要思想 實現方法 下面的方法僅僅是起乙個說明的作用,實際中...

關於容器輸出的進一步優化

以前我討論過了在自己學習過程中經常要用到的乙個特性,就是容器的輸出問題,總感覺不是太方便,在學習過程中用的又非常多,我曾經在 學了模板再來看容器輸出的簡化 中已經把他處理的很簡單了,不過最近看了tc pl受了點啟發,又將程式進一步改進,主要的好處是更符合標準庫容器的使用習慣,以首尾兩個迭代器為輸入,...

bufferedReader進一步理解

public static void main string args string mystring system.out.println 請輸入明文 bufferedreader buf new bufferedreader new inputstreamreader system.in try...