国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

php渲染動(dòng)畫

v0.0.5 版本
2024-08-23 版本更新時(shí)間
27 安裝
3 star

三維動(dòng)畫渲染

簡(jiǎn)介

    本插件旨在使用php在控制臺(tái)生成三3D動(dòng)畫,本插件僅適用于cli(命令行)模式。本項(xiàng)目已提供了立方體和金字塔模型的動(dòng)畫參數(shù),你可以使用demo進(jìn)行測(cè)試。本插件工作原理:類似于現(xiàn)在的激光掃描,獲取三維實(shí)物的外部輪廓的頂點(diǎn),然后連接這些頂點(diǎn),就可以構(gòu)成三維事務(wù)的模型。在使用本插件的時(shí)候,你只需要輸入三維事物輪廓的頂點(diǎn)坐標(biāo),然后提供這些頂點(diǎn)坐標(biāo)的連接路線(兩點(diǎn)確定一條直線),插件就可以繪制出對(duì)應(yīng)的三維模型。如果你提供了事物在三維坐標(biāo)中的旋轉(zhuǎn)角速度,那么本插件可以實(shí)現(xiàn)模型的旋轉(zhuǎn)功能。如果你提供了三維事務(wù)在x軸和y軸上的偏移方向和速度,那么本插件生成的動(dòng)畫中,模型可以實(shí)現(xiàn)上下左右移動(dòng)。如果你提供了不同時(shí)刻的模型的頂點(diǎn)的坐標(biāo),可以實(shí)現(xiàn)模型形狀的切換。本插件的用途暫時(shí)未知,因?yàn)闆]人會(huì)用php的cli模式來(lái)做動(dòng)畫。但是可以接入用戶輸入和網(wǎng)絡(luò)數(shù)據(jù)交互,從而實(shí)現(xiàn)類似于以前的網(wǎng)絡(luò)動(dòng)漫游戲。 所以,僅僅當(dāng)做小玩具吧。

安裝

composer require xiaosongshu/animation

使用實(shí)例

旋轉(zhuǎn)的立方體

<?php
require_once __DIR__ . '/src/Client.php';

$client = new \Xiaosongshu\Animation\Client();
/** 立方體 */
$config2 = [
    /** 初始三維傾斜度 */
    'angleX' => 0,
    'angleY' => 0,
    'angleZ' => 0,
    /** 三維角速度 */
    'angleStepX' => 0.01,
    'angleStepY' => 0.01,
    'angleStepZ' => 0.01,
    /** 縮放比例 */
    'scale' => 0,
    /** 初始二維偏移量 */
    'distanceX' => 0,
    'distanceY' => 0,
    /** 二維圖像偏移步長(zhǎng) */
    'distanceXStep' => 1,
    'distanceYStep' => 1,
    /** 二維x軸正方向偏移 */
    'directionX' => -1,
    /** 二維y軸正方向偏移 */
    'directionY' => -1,
    /** 三維圖案頂點(diǎn)坐標(biāo) : 更新三維物體的頂點(diǎn)坐標(biāo),可以實(shí)現(xiàn)模型的形狀改變 */
    'vertices' => [
        /** 第一個(gè)動(dòng)作 立方體由8個(gè)頂點(diǎn)構(gòu)成 */
        [
            [-1, -1, -1],
            [1, -1, -1],
            [1, 1, -1],
            [-1, 1, -1],
            [-1, -1, 1],
            [1, -1, 1],
            [1, 1, 1],
            [-1, 1, 1]
        ],
        // ... 其他動(dòng)作
    ],
    /** 三維圖案繪圖路徑 兩點(diǎn)構(gòu)成一條直線邊,一個(gè)立方體由12條邊構(gòu)成 */
    'edges' => [[0, 1], [1, 2], [2, 3], [3, 0], [4, 5], [5, 6], [6, 7], [7, 4], [0, 4], [1, 5], [2, 6], [3, 7]],
],
/** 自定義三維圖像頂點(diǎn)變化函數(shù),此處僅為示例,請(qǐng)根據(jù)實(shí)際情況設(shè)置符合你自己需求的頂點(diǎn)變化函數(shù),沒有則不寫,如果需要?jiǎng)討B(tài)修改三維物體形狀,建議使用自定義函數(shù) */
    'function' => function (&$vertices,$index) {

        # 若需要測(cè)試立方體形狀變化,去掉下面的注釋即可
//        /** 第一個(gè)頂點(diǎn)的變化函數(shù) */
//        if ($index == 0){
//            /** x坐標(biāo) */
//            $vertices[0] = 4;
//            /** y坐標(biāo) */
//            $vertices[1] = 4;
//            /** z坐標(biāo) */
//            $vertices[2] = 4;
//        }
//        /** 第二個(gè)頂點(diǎn)的變化函數(shù) */
//        if ($index == 1){
//            /** x坐標(biāo) */
//            $vertices[0] = $vertices[0] + 1;
//            /** y坐標(biāo) */
//            $vertices[1] = $vertices[1] + sin(30);
//            /** z坐標(biāo) */
//            $vertices[2] = $vertices[2] + rand(2,6);
//        }
        // ... 其他頂點(diǎn)的變化函數(shù)

    };
# 添加3D動(dòng)畫
$client->add3dAnimation($config2);
# 運(yùn)行動(dòng)畫
$client->run();

運(yùn)行

php yourPath/demo.php

效果圖

添加二維動(dòng)畫流星雨

流星雨代碼

<?php
require_once __DIR__ . '/src/Client.php';

$client = new \Xiaosongshu\Animation\Client();

/** 流星 */
$config3 = [
    'maxStars' => 10,
    'numStars' => 10,
    'isWaterLine' => true,
    /** 初始二維偏移量 */
    'distanceX' => 0,
    'distanceY' => 0,
    /** 二維圖像偏移步長(zhǎng) */
    'distanceXStep' => 2,
    'distanceYStep' => 1,
    /** 二維x軸正方向偏移 */
    'directionX' => 0,
    /** 二維y軸正方向偏移 */
    'directionY' => 0,
];
# 添加2D動(dòng)畫
$client->addStarRain($config3);
# 運(yùn)行動(dòng)畫
$client->run();

運(yùn)行

php yourPath/demo.php

流星雨動(dòng)畫效果

動(dòng)畫疊加

本插件可以實(shí)現(xiàn)多個(gè)動(dòng)畫相互疊加,效果如下所示。

<?php
require_once __DIR__ . '/src/Client.php';

$client = new \Xiaosongshu\Animation\Client();

# 添加3D動(dòng)畫
$client->add3dAnimation($config2);

# 添加2D動(dòng)畫
$client->addStarRain($config3);

# 運(yùn)行動(dòng)畫
$client->run();

運(yùn)行

php yourPath/demo.php

其它

先這樣了,后面再做其他特效吧。

贊助商