そのコードだけではhpBar
がImage
なのかGameObject
なのか判らないので回答に困りますが、
・画像で作りたいという場合
Image
でHPバー作成しているのであればSlider
という便利なものがUnityには有るのでそれを使うと良いです。
下記サイトを参考にして下さい。
https://qiita.com/2dgames_jp/items/31435fcef08dcd04c499
・3Dオブジェクトで作りたいという場合
GameObject
で作成されているのであれば下記の中から出来そうなものを選ぶと良いです。
1.動かしたい頂点を指定して動かす。
2.スケールに連動するようにx座標を動かして片方だけ伸びているように見せ掛ける。
3.DCCツールでPivotを起点となる位置に移動させる。
4.DCCツールでボーンをバインドさせてそのスケールを変動させる。
多分こちらの方法は求めてないと思うので詳細は割愛します。
・追記:動かしたい頂点を指定して動かす
1.「GameObject>3D Object>Quad」でオブジェクトを作成して座標(0,0,0)に置く。
2.下記スクリプトをそのオブジェクトに付ける。
3.再生後QuadオブジェクトのInspectorからverRightXの値を変化させて右側頂点だけ動くか確認する。
問題無く動作すれば後は実装に合わせて作り変えていって下さい。
C#
1using UnityEngine;
2
3public class VerticesMove : MonoBehaviour {
4 MeshFilter meshFilter;
5 Vector3[] ver;
6 public float verRightX;
7
8 void Start()
9 {
10 meshFilter = GetComponent<MeshFilter>();
11 ver = meshFilter.mesh.vertices;
12 }
13
14 private void Update()
15 {
16 ver[1].x = ver[2].x = verRightX;
17
18 meshFilter.mesh.vertices = ver;
19 meshFilter.mesh.RecalculateBounds();
20 }
21}