Category Archives: 8-1-2.コマンドラインからC#

コマンドラインC#(DXライブラリ)で、モデルのスケールを変える

コマンドラインC#(DXライブラリ)で、MMDモデルをロードする」の続きです。

モデルの大きさを変えるには、
DX.MV1SetScale()を使います。
第1引数にモデルのハンドラ、第2にスケールをDX.VECTORで渡します。
以下は、x,y,zをそれぞれ3倍で表示するプログラムです。

using System;
using DxLibDLL;
	
class Test{
	[STAThread]
	static void Main(){
		int model;
		DX.VECTOR pos = DX.VGet(0,0,10);
		DX.VECTOR camera = DX.VGet(0,30,-50);
		DX.VECTOR target = DX.VGet(0,30,0);
		DX.VECTOR upvec = DX.VGet(0,1,0);
		DX.VECTOR scale = DX.VGet(3,3,3);

		DX.ChangeWindowMode(DX.TRUE);
		DX.SetGraphMode(640,480,32);

		if(DX.DxLib_Init() == -1) return;

		model = DX.MV1LoadModel("東條希_ver1\\東條希_ver1.pmx");
		DX.SetCameraPositionAndTargetAndUpVec(camera,target,upvec);
		DX.MV1SetScale(model,scale);

		while(DX.ProcessMessage() == 0
			&& DX.CheckHitKey(DX.KEY_INPUT_ESCAPE) == 0){
			DX.ClearDrawScreen();
			DX.DrawBox(0,0,640,480,DX.GetColor(255,255,255),DX.TRUE);

			DX.MV1SetPosition(model, pos);
			DX.MV1DrawModel(model);
			DX.ScreenFlip();

		}
		DX.DxLib_End();
	}
}