1

ちょっと変な質問だとは思いますが、この「問題」があります。グローバル イルミネーションなどを使用してリアルなライティングを作成するためのゲーム ミドルウェアを作成しています。

ワールド ビューアを作成している段階です。ワールド ビューアーでは、ワールドを表示したり、変更を加えたり、ライトマップがどのように表示されるかを確認したりできます。

その中にプロパティ グリッドがあります。メッシュ クラスには meshdata プロパティがあり、meshdata プロパティには material プロパティがあり、その material プロパティには COLOR PROPERTY があります。うん。RGB プロパティがあります。プロパティ グリッドで色プロパティを表示すると、それらの値の順序が BGR のようになっています。RGB に変更できますか?

笑 確かに書きすぎです..

4

2 に答える 2

0

PropertyOrder属性をPropertySorterと共に使用できます。
ExpandableObjectConverter から継承された PropertySorter クラスを作成し、GetPropertiesSupported および GetProperties メソッドをオーバーライドして、独自の並べ替え順序を定義します。

[TypeConverter(typeof(PropertySorter))]
public class ColorProperty
{
    [PropertyOrder(1)]
    public int R { get; set; }
    [PropertyOrder(2)]
    public int G { get; set; }
    [PropertyOrder(3)]
    public int B { get; set; }
}
于 2016-11-30T03:27:39.723 に答える
0

あなたの Color プロパティはどのタイプですか? 可能であれば、System.Windows.Media.Color 構造体をプロパティ タイプとして使用する必要があります。

各色を表すには float データが必要なので、System.Windows.Media.Color の定義を見てください。

    public float ScA { get; set; }        
    public float ScB { get; set; }       
    public float ScG { get; set; }
    public float ScR { get; set; }

    public static Color FromScRgb(float a, float r, float g, float b);
    public static Color FromAValues(float a, float[] values, Uri profileUri);
    public float[] GetNativeColorValues();
    public static Color FromValues(float[] values, Uri profileUri);
于 2012-10-06T19:41:10.673 に答える