2025年11月23日日曜日

犬の絵をボックスアートにし、動かす(Geminiを試す)

 Geminiに今日は、犬の絵をボックスアートに変換して、それを動かせるようにしてもらうよう依頼してみました。


まず、犬の絵をアップロードし、その後、

「この絵の犬のボクセルアートを作って操作ができるようにしてください。」

というプロンプトを入れてみました。


すぐに回答が来ました。それを示したのが以下の図です。


ただし、作成されたボクセルアートは、操作盤はあるのですが、操作盤で動いてくれません。


操作盤で動くように頼んでみたのですが、だめでした。


しかし、その代わりと言って、次のプログラムを作成してくれました。

下の点線から、点線までの間がプログラムです。

そして、使い方も提供してくれています。

使い方はこのプログラムの下に出ています。


---------------------------------


<!DOCTYPE html>

<html lang="ja">

<head>

    <meta charset="UTF-8">

    <title>ボクセル犬 操作デモ</title>

    <style>

        body { margin: 0; overflow: hidden; background-color: #f0f0f0; font-family: sans-serif; }

        #control-panel {

            position: absolute;

            bottom: 20px;

            left: 20px;

            width: 150px;

            height: 150px;

            background: rgba(0, 0, 0, 0.2);

            border-radius: 20px;

            display: grid;

            grid-template-columns: 1fr 1fr 1fr;

            grid-template-rows: 1fr 1fr 1fr;

            padding: 10px;

            gap: 5px;

        }

        .btn {

            background: rgba(255, 255, 255, 0.5);

            border: none;

            border-radius: 5px;

            font-size: 20px;

            cursor: pointer;

            display: flex;

            align-items: center;

            justify-content: center;

            user-select: none;

        }

        .btn:active { background: rgba(255, 255, 255, 0.8); }

        #btn-up { grid-column: 2; grid-row: 1; }

        #btn-left { grid-column: 1; grid-row: 2; }

        #btn-right { grid-column: 3; grid-row: 2; }

        #btn-down { grid-column: 2; grid-row: 3; }

        

        #instruction {

            position: absolute;

            top: 10px;

            left: 10px;

            background: rgba(255,255,255,0.8);

            padding: 10px;

            border-radius: 5px;

        }

    </style>

</head>

<body>

    <div id="instruction">画面上のボタンまたはキーボードの矢印キーで犬を動かせます</div>

    

    <div id="control-panel">

        <div class="btn" id="btn-up">▲</div>

        <div class="btn" id="btn-left">◀</div>

        <div class="btn" id="btn-right">▶</div>

        <div class="btn" id="btn-down">▼</div>

    </div>


    <script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>


    <script>

        // 1. シーン、カメラ、レンダラーのセットアップ

        const scene = new THREE.Scene();

        scene.background = new THREE.Color(0xa0d8ef); // 空の色


        const camera = new THREE.PerspectiveCamera(60, window.innerWidth / window.innerHeight, 0.1, 1000);

        camera.position.set(0, 5, 8);

        camera.lookAt(0, 0, 0);


        const renderer = new THREE.WebGLRenderer({ antialias: true });

        renderer.setSize(window.innerWidth, window.innerHeight);

        renderer.shadowMap.enabled = true;

        document.body.appendChild(renderer.domElement);


        // 2. ライトの設定

        const ambientLight = new THREE.AmbientLight(0xffffff, 0.6);

        scene.add(ambientLight);


        const dirLight = new THREE.DirectionalLight(0xffffff, 0.8);

        dirLight.position.set(5, 10, 7);

        dirLight.castShadow = true;

        scene.add(dirLight);


        // 3. 地面(草地)

        const groundGeometry = new THREE.BoxGeometry(10, 1, 10);

        const groundMaterial = new THREE.MeshLambertMaterial({ color: 0x7cfc00 });

        const ground = new THREE.Mesh(groundGeometry, groundMaterial);

        ground.position.y = -0.5;

        ground.receiveShadow = true;

        scene.add(ground);


        // 草の装飾(ランダム配置)

        const grassGeo = new THREE.BoxGeometry(0.1, 0.4, 0.1);

        const grassMat = new THREE.MeshBasicMaterial({ color: 0x228b22 });

        for(let i=0; i<30; i++){

            const grass = new THREE.Mesh(grassGeo, grassMat);

            grass.position.set((Math.random()-0.5)*8, 0.2, (Math.random()-0.5)*8);

            scene.add(grass);

        }


        // 4. ボクセル犬の作成(グループ化)

        const dogGroup = new THREE.Group();

        

        const orangeMat = new THREE.MeshLambertMaterial({ color: 0xe69b38 }); // 茶色

        const whiteMat = new THREE.MeshLambertMaterial({ color: 0xffffff }); // 白

        const blackMat = new THREE.MeshLambertMaterial({ color: 0x333333 }); // 黒


        // 体

        const bodyGeo = new THREE.BoxGeometry(1.2, 1, 1.8);

        const body = new THREE.Mesh(bodyGeo, orangeMat);

        body.position.y = 1;

        body.castShadow = true;

        dogGroup.add(body);


        // 頭

        const headGeo = new THREE.BoxGeometry(1, 1, 1);

        const head = new THREE.Mesh(headGeo, orangeMat);

        head.position.set(0, 1.8, 0.8);

        head.castShadow = true;

        dogGroup.add(head);


        // 耳

        const earGeo = new THREE.BoxGeometry(0.3, 0.4, 0.2);

        const earL = new THREE.Mesh(earGeo, orangeMat);

        earL.position.set(0.3, 2.4, 0.8);

        dogGroup.add(earL);

        const earR = new THREE.Mesh(earGeo, orangeMat);

        earR.position.set(-0.3, 2.4, 0.8);

        dogGroup.add(earR);


        // 鼻

        const noseGeo = new THREE.BoxGeometry(0.2, 0.2, 0.2);

        const nose = new THREE.Mesh(noseGeo, blackMat);

        nose.position.set(0, 1.7, 1.35);

        dogGroup.add(nose);


        // 目

        const eyeGeo = new THREE.BoxGeometry(0.1, 0.1, 0.1);

        const eyeL = new THREE.Mesh(eyeGeo, blackMat);

        eyeL.position.set(0.25, 1.9, 1.3);

        dogGroup.add(eyeL);

        const eyeR = new THREE.Mesh(eyeGeo, blackMat);

        eyeR.position.set(-0.25, 1.9, 1.3);

        dogGroup.add(eyeR);


        // しっぽ

        const tailGeo = new THREE.BoxGeometry(0.3, 0.6, 0.3);

        const tail = new THREE.Mesh(tailGeo, whiteMat);

        tail.position.set(0, 1.5, -1);

        tail.rotation.x = Math.PI / 4;

        dogGroup.add(tail);


        // 足(4本)

        const legGeo = new THREE.BoxGeometry(0.3, 0.6, 0.3);

        const legPositions = [

            {x: 0.4, z: 0.6}, {x: -0.4, z: 0.6}, // 前足

            {x: 0.4, z: -0.6}, {x: -0.4, z: -0.6} // 後ろ足

        ];

        const legs = [];


        legPositions.forEach(pos => {

            const leg = new THREE.Mesh(legGeo, orangeMat);

            leg.position.set(pos.x, 0.3, pos.z);

            leg.castShadow = true;

            dogGroup.add(leg);

            legs.push(leg); // アニメーション用に保存

        });


        scene.add(dogGroup);


        // 5. 操作ロジック

        let moveForward = false;

        let moveBackward = false;

        let rotateLeft = false;

        let rotateRight = false;


        // キーボード操作

        document.addEventListener('keydown', (e) => {

            switch(e.key) {

                case 'ArrowUp': moveForward = true; break;

                case 'ArrowDown': moveBackward = true; break;

                case 'ArrowLeft': rotateLeft = true; break;

                case 'ArrowRight': rotateRight = true; break;

            }

        });

        document.addEventListener('keyup', (e) => {

            switch(e.key) {

                case 'ArrowUp': moveForward = false; break;

                case 'ArrowDown': moveBackward = false; break;

                case 'ArrowLeft': rotateLeft = false; break;

                case 'ArrowRight': rotateRight = false; break;

            }

        });


        // 画面ボタン操作(マウス・タッチ)

        const setupBtn = (id, stateName) => {

            const btn = document.getElementById(id);

            btn.addEventListener('mousedown', () => eval(stateName + ' = true'));

            btn.addEventListener('mouseup', () => eval(stateName + ' = false'));

            btn.addEventListener('touchstart', (e) => { e.preventDefault(); eval(stateName + ' = true'); });

            btn.addEventListener('touchend', (e) => { e.preventDefault(); eval(stateName + ' = false'); });

        };

        setupBtn('btn-up', 'moveForward');

        setupBtn('btn-down', 'moveBackward');

        setupBtn('btn-left', 'rotateLeft');

        setupBtn('btn-right', 'rotateRight');


        // アニメーションループ

        let walkCycle = 0;


        function animate() {

            requestAnimationFrame(animate);


            // 移動処理

            const speed = 0.05;

            const rotSpeed = 0.05;

            let isMoving = false;


            if (rotateLeft) dogGroup.rotation.y += rotSpeed;

            if (rotateRight) dogGroup.rotation.y -= rotSpeed;


            if (moveForward) {

                dogGroup.position.x += Math.sin(dogGroup.rotation.y) * speed;

                dogGroup.position.z += Math.cos(dogGroup.rotation.y) * speed;

                isMoving = true;

            }

            if (moveBackward) {

                dogGroup.position.x -= Math.sin(dogGroup.rotation.y) * speed;

                dogGroup.position.z -= Math.cos(dogGroup.rotation.y) * speed;

                isMoving = true;

            }


            // 足のアニメーション

            if (isMoving) {

                walkCycle += 0.2;

                legs[0].rotation.x = Math.sin(walkCycle) * 0.5;

                legs[1].rotation.x = Math.sin(walkCycle + Math.PI) * 0.5;

                legs[2].rotation.x = Math.sin(walkCycle + Math.PI) * 0.5;

                legs[3].rotation.x = Math.sin(walkCycle) * 0.5;

            } else {

                // 止まったら足を戻す

                legs.forEach(leg => leg.rotation.x = 0);

            }


            // 画面端でのループ(簡易的)

            if (dogGroup.position.x > 5) dogGroup.position.x = -5;

            if (dogGroup.position.x < -5) dogGroup.position.x = 5;

            if (dogGroup.position.z > 5) dogGroup.position.z = -5;

            if (dogGroup.position.z < -5) dogGroup.position.z = 5;


            renderer.render(scene, camera);

        }


        animate();


        // ウィンドウリサイズ対応

        window.addEventListener('resize', () => {

            camera.aspect = window.innerWidth / window.innerHeight;

            camera.updateProjectionMatrix();

            renderer.setSize(window.innerWidth, window.innerHeight);

        });

    </script>

</body>

</html>


-----------------------------------------




使い方


1. 上記のコードをコピーします。

2. パソコンの「メモ帳」などのテキストエディタを開きます。

3. コードを貼り付けます。

4. ファイルを保存する際、ファイル名を dog_game.html にします (拡張子を.html にしてください)。

5. 保存したファイルをダブルクリックすると、ブラウザが立ち上がり、画面左下のパネルでボクセル犬を操作できます。


この使い方通りに操作をして、、実際に犬が動くことを確かめてください。コードが問題になるという表示があるとにには、Unicode(UTF-16)を使用するといいようです。


たしかに、動きますね。


川柳を4コマ漫画にしてみた(nano bananaとnano banana proの比較)

 以前のnano bananaとつい最近リリースされたnano banana proを比較するのに、川柳を使って、それを4コマ漫画にしてもらいました。


プロンプトは以下のようなものです。

『「爺老いてハエは逃すし茶はこぼす」という川柳をもとに、老人がハエを叩くと逃げられてしまい、お茶をいれるとこぼしてしまい、愕然とする様子の4コマ漫画を作成してください。』


以前のnano banana の作品は以下のようなものです。



気づくのは川柳の文言(漢字など)が違っています。Gemini 2.5でよく指摘されていたものです。ハエを叩いたのに、のがした表現になっていません。単に、ハエが飛んでいるだけ。お茶をこぼすところはまあまあですね。茶瓶の持ち方がおかしいです。もう少し、いいものを使っているように表現してほしかったです。


最新のnano banana pro が作成したものは以下のようなものです。


川柳の文言はあっていますが、爺というのにふりがな(せん)が付いていて、これが間違っていますね。ハエを取り逃がしているのはよく表現されていると思います。お茶をこぼすところは一コマで描かれているのですが、まあ、わからないことはないと思います。

四コマ目でまとめているのも良いところですが、ハエが相変わらす逃げているのが描かれているのは、余計でしょう。老人ががっくりしているところは、いい表現だと思います。

茶碗が置かれているテーブルが、庭に置かれているのはおかしいです。本来なら、部屋の中に置かれているものですから。背景に畳などが描かれており、充実しています。


両方とも、おじいさんはハゲ頭というのも興味深い。片方はメガネを掛けているが、片方はメガネなし。メガネがあったほうがおじいさんらしいということでしょう。川柳ということで、日本をイメージしたのか、着ているのが着物というのは良い描写です。


こう見てくると、nano banana pro は、以前の nano banana に比較して、格段に良くなっています。


2025年11月22日土曜日

2025年11月21日(金)付毎日新聞の辛口数独の解き方

 11月21日(金)付の毎日新聞夕刊に掲載されている第5248回・上級の数独の解き方を説明します。



問題は上のようなものです。




とりあえず、簡単にわかるところだけを埋めてみます。以下のようになります。



これ以上は単純な考え方だけでは数字が埋められない。少し工夫してみる必要があります。


下の図を見てください。右側下段の9つの箱に注目します。この図で2つの赤い直線で示した部分には「3」と「7」がその直線上にあります。従って、赤い四角で示した2つの箱のいずれかに、「3」もしくは「7」が入り、他の数は入りません。



これを利用すると、右側下段の9つの箱の一つに「2」が入ることがわかります。


これから少し数字を入れていくと、以下のようになります。



ここで少し工夫が必要です。


下の図を見てください。



一番左側の縦の列を見ると、赤い四角で示した箱に「2」が入ることがわかります。


それ以降も、難しいところもあると思いますが、じっくり考えれば解くことができると思います。

頑張ってみて下さい。


2025年11月21日金曜日

GoogleのGemini 3の威力

 Googleは11月19日付で、最新モデル「Gemini 3」を発表しました。その公式ブログで、Gemini 3について、以下のように述べています。

「Gemini 時代の開始以来、私たちはすべての人にとって、より汎用的で役立つ AI を構築するために、可能性の限界を広げてきました。

Gemini 1 のマルチモダリティとロング コンテキスト ウィンドウにおける進歩は、AI が世界を理解するための情報の種類と量を拡大しました。

Gemini 2 は、エージェント機能の基盤を確立し、推論と思考の限界を広げることで、より複雑なタスクやアイデアを支援しました。

そして今回、Gemini のすべての機能を統合した、これまでで最も高性能なモデル Gemini 3 を発表します。Gemini 3 は、あらゆるアイデアを現実のものとします。」


GoogleのCEO、**サンダー・**ピチャイ氏は、Gemini 3について、次のように説明しています。

「Gemini 3 は、推論能力において最先端のモデルです。創造的なアイデアにある小さな手がかりも察知し、あるいは困難な問題が複雑に絡み合った要素を解きほぐすといった、深みとニュアンスを理解するよう設計されています。さらに、Gemini 3 はユーザーのリクエストの背景にある文脈と意図を把握する能力が飛躍的に向上したため、短いプロンプトでも必要な結果を得ることができます。わずか 2年で、AI が単にテキストや画像を読み取るだけでなく、その場の空気を読むまでに進化したことは、まさに驚異的です。」


私もGemini 3の試用を少し行ってみましたが、これまでのGeminiと比較すると、格段に性能が向上しているように感じます。まだ使用期間が短いため、真価を発揮するのはこれからではないかと期待しています。

ネットでも、何人かのYoutuberがGemini 3について、使用した経験をシェアしています

私も感じたのですが、Gemini 3は外国語表現での漢字誤用などが格段に少なくなりました。以前見られた中国で使用されている新しい漢字などを使用することがなくなっています


🚀 特筆すべき機能強化


Gemini 3で最も特筆すべき強化点は、その「コンテキストウィンドウの大幅な拡大」と「ネイティブなマルチモーダル能力の統合」です。

コンテキストウィンドウは、AIが一度に処理できる情報量を指しますが、Gemini 3ではこのウィンドウが驚くほど拡張されています。これにより、長大な専門書全体や、数十万行に及ぶコードベース全体を一度に読み込ませ、その内容を瞬時に理解・分析することが可能になりました。 従来のAIでは難しかった、膨大なデータからの複雑なパターン抽出や、文書全体を通した一貫性のある要約作成が、ストレスなく実現できます。

また、テキスト、画像、音声、動画といった異なる種類のデータを、最初から一つのモデルで処理できる統合されたマルチモーダル能力も進化しました。これにより、例えば「この動画のこのシーンで話している内容をテキスト化し、関連する画像を数枚生成して、それらを基にしたブログ記事を構成する」といった、複数の要素をまたいだ複雑なタスクを一連の流れで実行できます。


Webを作成する能力も進歩しており、提供した資料を元に、素晴らしいWebページを作成してくれます。それも、瞬時に作成してくれるので、大変驚きました

プログラミングの能力も格段に進歩しました。バイブコーディング(vibe coding)の能力が進化し、プログラミングの初心者でも、かなりのレベルのプログラムを作成することができます。この時のプログラムのエラーも少なくなり、プログラムのが向上しました。

画像の作成能力も向上したようで、多くのYoutuberが、「相当数の画像を作る仕事をする人が不要になってしまうのではないか」と懸念するほどです。そのくらい、画像を作成する能力は飛躍的に向上しました

Gemini 3は発表されてから、まだ日が浅いので、これからも「これはすごい」と思うような発見があると期待しています。


💡 結びの言葉:習うより慣れろ


私たちは今、新しいAI時代の幕開けに立ち会っています。Gemini 3の真のポテンシャルは、提供された資料を読むだけでは測りきれません。

新しいツールを使いこなすための最良の方法は、まさに「習うより慣れろ」です。難しく考える必要はありません。日常の小さな疑問から、仕事での複雑なタスクまで、まずはGemini 3に積極的に話しかけ、試行錯誤を繰り返すことが、この強力なAIを使いこなすための最短ルートとなります。

ぜひ皆さんも、新しいGemini 3をどんどん活用し、その革新的な能力を体感してください。


2025年11月20日木曜日

猫が川に飛び込んだ(Google AI StudioのVeo 3で作成)

 Google AI Studioで猫が川を飛び越えようとして、川に落ちてしまった動画を作ってもらいました。


入力したのは、

「猫が川を飛び越えようとして、失敗し、川に落ちてしまう。そして、川から這い上がる。」

というプロンプトです。


また、使用する猫のイメージをアプロードしておきました。



作成に使用したのは、Veo 3です。


動画の作成には、2分ほどかかったと思います。



作成できたときの画面です。


実際に作成された動画は以下のところに。


https://youtu.be/58Vn0FQogWA


割と可愛い猫の動作になっています。



Googleの次世代AI「Gemini 3」が登場!驚異の性能と初心者向け活用法

 ついにGoogleから、AIの常識を塗り替える次世代モデル**「Gemini 3」**が公開されました。

その性能は、既存のAIモデルと比較して圧倒的な進化を遂げており、世界最高峰のAIと評価されています。

本記事では、Googleが公開した情報や動画を基に、このGemini 3の驚くべき特徴と、AI初心者でも今日から実践できる具体的な活用方法を解説します。


1. Gemini 3の驚くべき「特徴」

Gemini 3は、単なる性能向上に留まらず、AIの使い方が根本的に変わるような革新的な機能を多数搭載しています。

世界最高レベルのAI性能

Gemini 3 Proは、言語理解、推論、知識量、コーディングなど、ほぼすべてのベンチマーク項目で世界ナンバーワンのスコアを獲得しています。

特に注目すべきは、Web検索に頼らない知識を問うテストや、複雑な問題を解くための高度な推論能力が飛躍的に向上している点です (動画1)。これにより、より正確で洞察に富んだ回答が得られるようになりました (動画1)。

動画を「見て」「理解し」「アドバイスする」マルチモーダル能力

Gemini 3の最大の特徴は、超強力なマルチモーダル能力です。

これまでのAIが主にテキストや静止画の理解を得意としていたのに対し、Gemini 3は画像、音声、動画を同時に理解し、推論することができます (動画3)。

例えば、あなたがアップロードしたスポーツのプレイ動画をGemini 3に分析させると、フォームや動きを理解した上で具体的な改善アドバイスを返してくれます (動画2)。

また、手書きのレシピ画像を読み込ませ、それを翻訳し、さらにその情報を使ってウェブサイト(UI)まで作成する、といった複数の複雑なステップを一度にこなすことができます (動画2)。


驚異の「生成UI (Generative UI)」機能


Gemini 3は、単にテキストを返すだけでなく、ユーザーの指示に応じて動的なユーザーインターフェース(UI)を生成します。これを**生成UI (Generative UI)**と呼びます (動画2)。

  • 例: 「住宅ローンを組んだ場合の返済額を計算して」と尋ねると、単なる表だけでなく、金利や期間を入力できる計算機UIをその場で作成します (動画2)。

  • 例: 「ロンドン旅行の計画を立てて」と指示すると、雑誌のような写真付きの美しい旅行プランUIを提示します (動画2)。

これにより、AIとのやり取りが、より直感的で視覚的にわかりやすい体験へと進化しました。


開発者向けの新ツールも登場

Gemini 3の登場に合わせ、Googleは開発者向けの統合開発環境(IDE)であるGoogle AntiGravityも公開しました (動画1)。AIエージェントがコーディング、自動テスト、ブラウザ操作(プレビュー)を自律的に行ってくれるなど、開発効率を飛躍的に高めることが期待されます (動画1)。


2. 初心者でもすぐに使える「活用法」


Gemini 3は、開発者だけでなく、一般の初心者ユーザーにとっても非常に身近なツールとして利用できます。


 普段使いのGeminiアプリで「思考モード」をオンに


Gemini 3 Proは、GoogleのAIチャットサービス「Gemini」から無料で利用可能です(利用回数制限がある場合があります) (動画1), (動画3)。

  1. Geminiアプリ(またはGoogle AI Studio)にアクセスします。

  2. 画面下部のモデル選択で「思考モード (Pro)」を選択します (動画3)。

これだけで、世界最先端のAIモデルをすぐに使い始めることができます。


画像や動画をアップロードして分析させる


Gemini 3の最大の武器であるマルチモーダル機能を活用しましょう。

  • 料理のヒント: 手書きのレシピ写真や、料理中の動画をアップロードし、「このレシピを翻訳してウェブサイトのコードに変換して」[0:29:17] (動画2) や、「この料理の改善点を教えて」と尋ねてみましょう。

  • 趣味やスポーツのアドバイス: 趣味で撮影した写真や動画をアップロードし、専門的な視点からのフィードバックを得るために使えます (動画3)。


複雑なタスクは「生成UI」に任せる

旅行の計画、資料作成のための図表作成、複数の情報を比較検討するリサーチなど、構造化された情報が必要なタスクは、Gemini 3に「生成UI」として依頼しましょう。

単にテキストでまとめるよりも、視覚的にわかりやすいインターフェースとして結果を返してくれるため、そのまま企画書や個人的な資料として活用しやすくなります。


Googleサービスと連携した「タスク自動化」 (エージェント機能)


最上位プランではありますが、Gemini 3はGmailやカレンダーといったGoogleサービスと連携する「エージェント機能」も進化しています (動画2)。

  • 例: 「来週の旅行のために、Gmailの予約情報に基づいて、80ドルの予算でSUVのレンタカーを予約して」と指示するだけで、Gemini 3がフライト情報を取得し、レンタカーを比較・予約準備までを自動で行ってくれます (動画3)。

これは、AIがユーザーの代わりにサービスを横断してタスクを実行する、まさに**「究極の自動化」**です。


3. まとめ:AIとの付き合い方が変わる時代へ


Gemini 3の登場は、AIの性能競争においてGoogleが再び最前線に躍り出たことを意味します。特にマルチモーダル能力生成UIは、これまでAIが苦手としてきた「視覚的な情報処理」と「動的な情報提示」の壁を大きく打ち破りました。

AIは単なるチャット相手ではなく、あなたのデジタル生活全体をサポートする強力な「エージェント」へと進化しています。まずはGeminiアプリの「思考モード (Pro)」を試して、その驚異的な性能と新しいAI体験を体感してみてください。


(動画1)

https://www.youtube.com/watch?v=ZGf28qVxrQ4


(動画2)

https://www.youtube.com/watch?v=6u-NQAAnO10


(動画3)

https://www.youtube.com/watch?v=lhr-drVknW0


2025年11月18日火曜日

Veo 3.1で猫の動画を作成

 Google AI Studioでは有料で、Veo 3.1が使えるようなので、とりあえず、動画を作成してみました。


プロンプトは英語で


「The cat walks slowly, meows, rolls over and falls asleep.」


と入れてみました。


出来上がった動画は以下のものです。


https://youtu.be/sIz_jN-UUac


動画はまずまずの出来です。


次に、以下の画像を使って、動画を作成してもらいました。


プロンプトは以下のとおりです。


「The cat in this picture walks slowly, meows, rolls over and falls asleep.」


出来上がった動画は以下のものです。


https://youtu.be/oHW5EzlXggk


動画としては良くできていると思います。


犬の絵をボックスアートにし、動かす(Geminiを試す)

 Geminiに今日は、犬の絵をボックスアートに変換して、それを動かせるようにしてもらうよう依頼してみました。 まず、犬の絵をアップロードし、その後、 「この絵の犬のボクセルアートを作って操作ができるようにしてください。」 というプロンプトを入れてみました。 すぐに回答が来ました...