model

package
v0.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 23, 2024 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CdiJson

type CdiJson struct {
	Version    int `json:"Version"`
	Parameters []struct {
		Id      string `json:"Id"`
		GroupId string `json:"GroupId"`
		Name    string `json:"Name"`
	} `json:"Parameters"`
	ParameterGroups []struct {
		Id      string `json:"Id"`
		GroupId string `json:"GroupId"`
		Name    string `json:"Name"`
	} `json:"ParameterGroups"`
	Parts []struct {
		Id   string `json:"Id"`
		Name string `json:"Name"`
	} `json:"Parts"`
}

*.cdi3.json用の構造体

type ExpJson

type ExpJson struct {
	Name       string
	Type       string `json:"Type"`
	Parameters []struct {
		Id    string  `json:"Id"`
		Value float64 `json:"Value"`
		Blend string  `json:"Blend"`
	} `json:"Parameters"`
}

*.exp3.json用の構造体

type Group

type Group struct {
	Target string   `json:"Target"`
	Name   string   `json:"Name"`
	Ids    []string `json:"Ids"`
}

type HitArea

type HitArea struct {
	Id   string `json:"Id"`
	Name string `json:"Name"`
}

type Meta

type Meta struct {
	Duration             float64 `json:"Duration"`
	Loop                 bool    `json:"Loop"`
	AreBeziersRestricted bool    `json:"AreBeziersRestricted"`
}

type ModelJson

type ModelJson struct {
	Version        int `json:"Version"`
	FileReferences struct {
		Moc         string   `json:"Moc"`
		Textures    []string `json:"Textures"`
		Physics     string   `json:"Physics"`
		Pose        string   `json:"Pose"`
		DisplayInfo string   `json:"DisplayInfo"`
		Expressions []struct {
			Name string `json:"Name"`
			File string `json:"File"`
		} `json:"Expressions"`
		Motions map[string][]struct {
			File        string  `json:"File"`
			FadeInTime  float64 `json:"FadeInTime"`
			FadeOutTime float64 `json:"FadeOutTime"`
			Sound       string  `json:"Sound"`
			MotionSync  string  `json:"MotionSync"`
		} `json:"Motions"`
		UserData string `json:"UserData"`
	} `json:"FileReferences"`
	Groups   []Group   `json:"Groups"`
	HitAreas []HitArea `json:"HitAreas"`
}

*.model3.json用の構造体

type MotionJson

type MotionJson struct {
	Version  int  `json:"Version"`
	Meta     Meta `json:"Meta"`
	UserData []struct {
		Time  float64 `json:"Time"`
		Value string  `json:"Value"`
	} `json:"UserData"`
	Curves []struct {
		Target      string    `json:"Target"`
		Id          string    `json:"Id"`
		FadeInTime  *float64  `json:"FadeInTime"`
		FadeOutTime *float64  `json:"FadeOutTime"`
		Segments    []float64 `json:"Segments"`
	} `json:"Curves"`
}

*.motion3.json用の構造体

func (*MotionJson) ToMotion

func (m *MotionJson) ToMotion(fp string, fadein, fadeout float64, sound string) (mtn motion.Motion)

motion3.jsonをMotionに変換する

type PhysicsJson

type PhysicsJson struct {
	Version int `json:"Version"`
	Meta    struct {
		PhysicsSettingCount int `json:"PhysicsSettingCount"`
		TotalInputCount     int `json:"TotalInputCount"`
		TotalOutputCount    int `json:"TotalOutputCount"`
		VertexCount         int `json:"VertexCount"`
		EffectiveForces     struct {
			Gravity struct {
				X float64 `json:"X"`
				Y float64 `json:"Y"`
			} `json:"Gravity"`
			Wind struct {
				X float64 `json:"X"`
				Y float64 `json:"Y"`
			} `json:"Wind"`
		} `json:"EffectiveForces"`
		PhysicsDictionary []struct {
			Id   string `json:"Id"`
			Name string `json:"Name"`
		} `json:"PhysicsDictionary"`
	} `json:"Meta"`
	PhysicsSettings []struct {
		Id    string `json:"Id"`
		Input []struct {
			Source struct {
				Target string `json:"Target"`
				Id     string `json:"Id"`
			} `json:"Source"`
			Weight  float64 `json:"Weight"`
			Type    string  `json:"Type"`
			Reflect bool    `json:"Reflect"`
		} `json:"Input"`
		Output []struct {
			Destination struct {
				Target string `json:"Target"`
				Id     string `json:"Id"`
			} `json:"Destination"`
			VertexIndex int     `json:"VertexIndex"`
			Scale       float64 `json:"Scale"`
			Weight      float64 `json:"Weight"`
			Type        string  `json:"Type"`
			Reflect     bool    `json:"Reflect"`
		} `json:"Output"`
		Vertices []struct {
			Position struct {
				X float64 `json:"X"`
				Y float64 `json:"Y"`
			} `json:"Position"`
			Mobility     float64 `json:"Mobility"`
			Delay        float64 `json:"Delay"`
			Acceleration float64 `json:"Acceleration"`
			Radius       float64 `json:"Radius"`
		} `json:"Vertices"`
		Normalization struct {
			Position struct {
				Minimum float64 `json:"Minimum"`
				Default float64 `json:"Default"`
				Maximum float64 `json:"Maximum"`
			} `json:"Position"`
			Angle struct {
				Minimum float64 `json:"Minimum"`
				Default float64 `json:"Default"`
				Maximum float64 `json:"Maximum"`
			} `json:"Angle"`
		} `json:"Normalization"`
	} `json:"PhysicsSettings"`
}

*.physics3.json用の構造体

type PoseJson

type PoseJson struct {
	Type       string  `json:"Type"`
	FadeInTime float64 `json:"FadeInTime"`
	Groups     [][]struct {
		Id   string   `json:"Id"`
		Link []string `json:"Link"`
	} `json:"Groups"`
}

*.pose3.json用の構造体

type UserDataJson

type UserDataJson struct {
	Version int `json:"Version"`
	Meta    struct {
		UserDataCount     int `json:"UserDataCount"`
		TotalUserDataSize int `json:"TotalUserDataSize"`
	} `json:"Meta"`
	UserData []struct {
		Target string `json:"Target"`
		Id     string `json:"Id"`
		Value  string `json:"Value"`
	} `json:"UserData"`
}

*.userdata3.json用の構造体

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL