unity 3 dダイナミックにモデルのサイズ、方向を変えます.
1890 ワード
// cube, guiskin, 。
// Code js, cube ok
public var mySkin:GUISkin;
var windowRect = Rect (0, 20, 200 ,150);
var SliderScaleValue:float = 0.0;
var SliderXValue:float = 0.0;
var SliderYValue:float = 0.0;
var SliderZValue:float = 0.0;
var SliderWindowRect = Rect(80,200,200,150);
var mCube:GameObject;
var xRotation:float;
var yRotation:float;
var zRotation:float;
var wenzi : String;
function Start(){
mCube = GameObject.Find(“Cube”);
//print(mCube.transform.lossyScale + ” — ” + mCube.transform.localScale);
SliderScaleValue = mCube.transform.localScale.x;
}
function Update () {
}
function OnGUI () {
GUI.skin = mySkin;
SliderWindowRect = GUI.Window(1,SliderWindowRect,CreateWindow,wenzi);
}
function CreateWindow(windowID : int){
GUI.skin = mySkin;
GUI.Label(Rect(10,20,50,20),” ”);
SliderScaleValue = GUI.HorizontalSlider (Rect(60,25,120,20),SliderScaleValue,0,500);
// scale
mCube.transform.localScale = Vector3(SliderScaleValue,SliderScaleValue,SliderScaleValue);
GUI.Label(Rect(10,50,50,20),” X”);
SliderXValue = GUI.HorizontalSlider (Rect(60,55,120,20),SliderXValue,0,360);
// xRotation
if(xRotation != SliderXValue){
mCube.transform.rotation = Quaternion.Euler(SliderXValue,yRotation,zRotation);
xRotation = SliderXValue;
}
GUI.Label(Rect(10,80,50,20),” Y”);
SliderYValue = GUI.HorizontalSlider (Rect(60,85,120,20),SliderYValue,0,360);
// yRotation
if(yRotation != SliderYValue){
mCube.transform.rotation = Quaternion.Euler(xRotation,SliderYValue,zRotation);;
yRotation = SliderYValue;
}
GUI.Label(Rect(10,110,50,20),” Z”);
SliderZValue = GUI.HorizontalSlider (Rect(60,115,120,20),SliderZValue,0,360);
// zRotation
if(zRotation != SliderZValue){
mCube.transform.rotation = Quaternion.Euler(xRotation,yRotation,SliderZValue);;
zRotation = SliderZValue;
}
GUI.DragWindow (Rect (0,0,10000,10000));
}