File yang saya gunakan untuk mencoba adalah file SimpleDemo.as yang berada di dalam bundle SDK v2. Agar dapat mendeteksi beberapa buah marker, ada beberapa baris kode yang harus diubah yaitu:
Tambahkan (embed) source marker pada baris ini:
// embed your data file here
[Embed(source = '../assets/def_data.ass', mimeType='application/octet-stream')]
private static const data_ass:Class;
[Embed(source = '../assets/bush_data.ass', mimeType='application/octet-stream')]
[Embed(source = '../assets/def_data.ass', mimeType='application/octet-stream')]
private static const data_ass:Class;
[Embed(source = '../assets/bush_data.ass', mimeType='application/octet-stream')]
Tambahkan reference objek pada baris ini:
asfeatLib.addReferenceObject( ByteArray( new bush_data_ass ) );
Dalam fungsi onModelDetected ganti indeks array models dengan ref.id:
models[ref.id].setTransform( ref.rotationMatrix, ref.translationVector, ref.poseError, mirror );
Saya hanya ingin mencoba mendekteksi marker yang berbeda, untuk model 3d yang ditampilkan saya menggunakan model yang sama dengan file contoh jadi saya melakukan langkah ini: tambahkan instance dalam Away3DLiteWorld.as, kemudian dalam SimpleDemo.as panggil intance tersebut (dalam fungsi init3d() ):
models = Vector.<ARAway3DLiteContainer>([
world3d.in2ar,world3d.in2ar2
]);
world3d.in2ar,world3d.in2ar2
]);
dan jangan lupa... :-D ubah jumlah objek referensi pada baris ini:
public var maxReferenceObjects:int=2;
Selamat mencoba..
mau nanya, kalo misalnya markernya udah di embed tapi pas d compile hasilnya jadi warna putih sma logo IN2ARnya aj kenpa y ?
BalasHapus