ご報告ありがとうございます
再現を試みようと以下のようなプログラムを組んでみたのですが、
原点からオブジェクトをどれだけ離してもライティング結果に変化はありませんでした
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
int ModelHandle ;
VECTOR ModelPos ;
VECTOR CameraPos ;
ChangeWindowMode( TRUE ) ;
// DXライブラリの初期化
if( DxLib_Init() < 0 )
{
// エラーが発生したら直ちに終了
return -1 ;
}
// 3Dモデルの読み込み
ModelHandle = MV1LoadModel( "DxChara.x" ) ;
// 描画先を裏画面に
SetDrawScreen( DX_SCREEN_BACK ) ;
// ディレクショナルライトの方向を設定
ChangeLightTypeDir( VGet( 1.0f, -1.0f, 1.0f ) ) ;
// モデルの位置とカメラの位置を設定
ModelPos = VGet( 1000000.0f, 0.0f, 1000000.0f ) ;
CameraPos = VGet( 1000000.0f, 250.0f, 1000000.0f -800.0f ) ;
// ループ
while( ProcessMessage() == 0 )
{
// 画面をクリア
ClearDrawScreen() ;
// シフトキーを押しながら方向キーでカメラを、普通に方向キーでモデルを移動
if( CheckHitKey( KEY_INPUT_LSHIFT ) )
{
if( CheckHitKey( KEY_INPUT_LEFT ) ) CameraPos.x -= 100.0f ;
if( CheckHitKey( KEY_INPUT_RIGHT ) ) CameraPos.x += 100.0f ;
if( CheckHitKey( KEY_INPUT_UP ) ) CameraPos.z += 100.0f ;
if( CheckHitKey( KEY_INPUT_DOWN ) ) CameraPos.z -= 100.0f ;
}
else
{
if( CheckHitKey( KEY_INPUT_LEFT ) ) ModelPos.x -= 100.0f ;
if( CheckHitKey( KEY_INPUT_RIGHT ) ) ModelPos.x += 100.0f ;
if( CheckHitKey( KEY_INPUT_UP ) ) ModelPos.z += 100.0f ;
if( CheckHitKey( KEY_INPUT_DOWN ) ) ModelPos.z -= 100.0f ;
}
// カメラの位置をセット
SetCameraPositionAndTarget_UpVecY( CameraPos, VAdd( CameraPos, VGet( 0.0f, 0.0f, 1.0f ) ) ) ;
// モデルの位置をセット
MV1SetPosition( ModelHandle, ModelPos ) ;
// 3Dモデルを描画
MV1DrawModel( ModelHandle ) ;
// カメラの位置を描画
DrawFormatString( 0, 0, GetColor( 255,255,255 ), "CameraPos x:%.1f y:%.1f z:%.1f",
CameraPos.x, CameraPos.y, CameraPos.z ) ;
// モデルの位置を描画
DrawFormatString( 0, 16, GetColor( 255,255,255 ), "ModelPos x:%.1f y:%.1f z:%.1f",
ModelPos.x, ModelPos.y, ModelPos.z ) ;
// 操作方法を描画
DrawString( 0, 464, "方向キー:モデルを移動 方向キー+左シフトキー:カメラの移動", GetColor( 255,255,255 ) ) ;
// 裏画面の内容を表画面に反映
ScreenFlip() ;
}
// DXライブラリの後始末
DxLib_End() ;
// ソフトの終了
return 0 ;
}
↑初期座標の時点で原点から 1000000.0f 離れています
原点からどのくらいの距離を離した場合に暗くなってしまったのか教えて頂けないでしょうか?
あと、最新バージョンではもしかすると直っているかもしれませんので、もし上記のテストプログラムでも
同様の現象が発生してしまった場合はこちらのバージョンをお試しになってみて下さい m(_ _)m
http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe // VisualC++ 用
http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe // BorlandC++ 用
(中身を既存のライブラリのファイルに上書きして、BCCをお使いの
場合は『再構築』、VCをお使いの場合は『リビルド』をして下さい)