50倍のスケーリングによってライティングの計算に使用する法線の大きさも50倍になってしまっているのが原因です
元のシェーダーコードはスケーリングを考慮していないので、50倍のスケーリングによって法線の長さ( 大きさ )も50倍に
なってしまい、ライティングの計算結果である明るさも50倍になってしまっているというわけです
この問題は頂点シェーダーで法線の行列計算が終わった後、スケーリングを考慮して法線の長さを1にする
『正規化』を行うことで回避することができます
『3Dアクション基本+深度値を利用した影表現基本』では以下の箇所になります
NormalMesh_DirLight_DepthShadow_Step2VS.fx の102行目付近
// ワールドベクトルをビューベクトルに変換
lViewNrm.x = dot( lWorldNrm, cfViewMatrix[ 0 ].xyz ) ;
lViewNrm.y = dot( lWorldNrm, cfViewMatrix[ 1 ].xyz ) ;
lViewNrm.z = dot( lWorldNrm, cfViewMatrix[ 2 ].xyz ) ;
// 法線を正規化(追加した処理)
lViewNrm = normalize( lViewNrm ) ;
SkinMesh4_DirLight_DepthShadow_Step2VS.fx の123行目付近
// ワールドベクトルをビューベクトルに変換
lViewNrm.x = dot( lWorldNrm, cfViewMatrix[ 0 ].xyz ) ;
lViewNrm.y = dot( lWorldNrm, cfViewMatrix[ 1 ].xyz ) ;
lViewNrm.z = dot( lWorldNrm, cfViewMatrix[ 2 ].xyz ) ;
// 法線を正規化(追加した処理)
lViewNrm = normalize( lViewNrm ) ;
よろしければお試しください