图例设计软件:Focusky,VisualComponents,图片字风格化等试用和推荐,最终还是回到Unity 游戏代码

Focusky课件工具

完整的Focusky 界面没有截图,但是从下面资料可知,确实是一个偏向PPT 动画的一个工具

1.分页面,2.并且页面跳转动画是主要功能,3.有很多小组件(各种ICON,走马灯等)、4.会员收费,动不动就弹窗.VIP

这就是 Focusky

**功能多,分类全,非常专业的工具;**但操作有些反直觉,grouping要常用,多选了只要拖一个(不明显)即是拖全部;鼠标左键移动,右键框选;又缺少像photoShop 那样的工具条

确实明显工具条等缺点,但设计器Editor的状态分明,只能说明:这工具某些功能点非常好用

评价为:优点大于缺点很多很多,但擅长点和缺点都很明显的工具

Focusky 完全没有工具条

(但是工具的切换是清晰的,前提是你要知道,反人类的鼠标操作方式)

除非Focusky 是苹果的mac 软件创始,否则不会鼠标左右互博

工厂-Visual Components

<太贵买不起>

用Unity做一个流程

<免费>

1.Assets/ 目录下创建一个 Assets/Demos 目录

2.导入Cart模型一个,

需要 git clone ,直接浏览器 download 不行<用梯子也不行,图片会丢失>

https://github.com/Jellevermandere/ArduinoMotionControls#

3.写一段"脚本"代码

cs 复制代码
using UnityEngine;

public class BasketballShooter : MonoBehaviour
{
    [Header("投射设置")]
    [Tooltip("篮球预制体(需包含Collider和Rigidbody)")]
    public GameObject basketballPrefab;
    
    [Header("这个填上-摄像机点吧")]
    [Tooltip("投射点(篮球生成的位置)")]
    public Transform shootPoint;
    
    [Tooltip("投射力度")]
    public float shootForce = 15f;
    
    [Tooltip("投射角度(影响抛物线)")]
    [Range(10f, 80f)]
    public float shootAngle = 45f;
    
    [Tooltip("发射冷却时间(防止连点)")]
    public float shootCooldown = 0.5f;

    // 内部变量
    private float _lastShootTime;
    private Camera _mainCamera;

    void Start()
    {
        // 获取主摄像机
        _mainCamera = Camera.main;
        
        // 验证必要组件
        if (shootPoint == null)
        {
            Debug.LogError("请设置投射点(shootPoint)!");
        }
        
        if (basketballPrefab == null)
        {
            Debug.LogError("请分配篮球预制体!");
        }
        else
        {
            // 检查预制体是否有必要组件
            Rigidbody rb = basketballPrefab.GetComponent<Rigidbody>();
            Collider col = basketballPrefab.GetComponent<Collider>();
            
            if (rb == null)
            {
                Debug.LogError("篮球预制体缺少Rigidbody组件!");
            }
            
            if (col == null)
            {
                Debug.LogError("篮球预制体缺少Collider组件!");
            }
        }
    }

    void Update()
    {
        // 检测鼠标左键点击,并且不在冷却中
        if (Input.GetMouseButtonDown(0) && Time.time > _lastShootTime + shootCooldown)
        {
            ShootBasketball();
        }
    }

    /// <summary>
    /// 投射篮球的核心方法
    /// </summary>
    void ShootBasketball()
    {
        // 安全检查
        if (basketballPrefab == null || shootPoint == null) return;
        
        // 记录最后发射时间
        _lastShootTime = Time.time;

        // 1. 获取鼠标点击的世界位置(在地面高度)
        Ray ray = _mainCamera.ScreenPointToRay(Input.mousePosition);
        Plane groundPlane = new Plane(Vector3.up, Vector3.zero); // 地面平面(y=0)
        
        if (groundPlane.Raycast(ray, out float distance))
        {
            // 2. 计算目标点和投射方向
            Vector3 targetPoint = ray.GetPoint(distance);
            Vector3 direction = targetPoint - shootPoint.position;
            direction.y = 0; // 忽略高度差,只保留水平方向

            // 3. 实例化篮球
            GameObject basketball = Instantiate(basketballPrefab, shootPoint.position, Quaternion.identity);
            Rigidbody rb = basketball.GetComponent<Rigidbody>();
            
            if (rb != null)
            {
                // 4. 计算投射的初始速度(带角度的抛物线)
                Vector3 shootDirection = direction.normalized;
                shootDirection.y = Mathf.Tan(shootAngle * Mathf.Deg2Rad); // 计算角度对应的y轴分量
                
                // 5. 应用力投射篮球
                rb.AddForce(shootDirection * shootForce, ForceMode.Impulse);
                
                // 可选:添加一点旋转效果
                rb.AddTorque(new Vector3(1, 0, 0) * 50f);
            }
            
            // 可选:3秒后自动销毁篮球(避免场景中堆积)
            Destroy(basketball, 5f);
        }
    }

    // Gizmos辅助绘制(方便调试)
    void OnDrawGizmos()
    {
        if (shootPoint != null)
        {
            // 绘制投射点(红色球体)
            Gizmos.color = Color.red;
            Gizmos.DrawSphere(shootPoint.position, 0.1f);
            
            // 绘制投射方向(仅在场景视图可见)
            if (Input.GetMouseButtonDown(0))
            {
                Ray ray = _mainCamera.ScreenPointToRay(Input.mousePosition);
                Plane groundPlane = new Plane(Vector3.up, Vector3.zero);
                
                if (groundPlane.Raycast(ray, out float distance))
                {
                    Gizmos.color = Color.green;
                    Gizmos.DrawLine(shootPoint.position, ray.GetPoint(distance));
                }
            }
        }
    }
}

4.在场景中添加一个GameObject,并挂上面脚本:BasketballShooter

5.假如没意外,一切正常,没有代码错误,会有下面截图

6.运行游戏,: 点击屏幕,是有几个"卷纸" ,(有BUG 先不管)

不怎么有用的工具列表

|-----------|------------------------|-------------------------------------------------------------------------------------------------------------------|
| 评分------- | 名字 | 试用说明 |
| 人上人 | 改图鸭 | https://www.gaituya.com/bianji/ |
| 夯 | 即梦 | 字节登录,目前每日送88积分;文生图,文生视频是强项 |
| | Refont AI | |
| 拉完了 | 文心一格 | 合并后依然给试用机会,依然非常"智障",不想评论,至少知道AI的下限能有多低 |
| NPC | GPT-4o | |
| 人上人 | LiblibAI | 深度生成;据说登录送80电量,但是生成一次要61电量,高精度生成,速度还不错, |
| NPC | Microsoft Designer | |

中文字体"气泡英雄"像素风格卡通字,笔触方正,
行笔圆润,具有草木系性质,适用于游戏素材

(给了一个参考图,是有中文的,应该是识别不了。。。。)

模型2.0 Pro

(能支持参考图的最高版本)

根据上面的实践"证据",你就很难摆脱:不是"国产",用的是国外数据库和研发成果的质疑

起码可以肯定的是:

-在2.0Pro版本,能够对比参考图生成的模型下

-的你用了大量的国外训练库

AI内容参考自

保姆级教程丨AI制作双十一 透明底字体素材!

https://www.bilibili.com/video/BV1zpsbz4EMn/?spm_id_from=333.337.search-card.all.click&vd_source=87cc78b95e8f0a7ebd13a1d527fea09b

相关推荐
SmalBox1 小时前
【节点】[RandomRange节点]原理解析与实际应用
unity3d·游戏开发·图形学
Hommy887 小时前
【开源剪映小助手】API 接口文档
开源·github·aigc·视频剪辑自动化·剪映api
GISer_Jing8 小时前
AI前端(From豆包)
前端·aigc·ai编程
码途漫谈8 小时前
Easy-Vibe开发篇阅读笔记(四)——前端开发之结合 Agent Skills 美化界面
人工智能·笔记·ai·开源·ai编程
Mr_sst9 小时前
Claude Code 部署与使用保姆级教程(2026 最新)
python·ai
@PHARAOH10 小时前
WHAT - cursor cli 开发范式
前端·ai·ai编程
企业架构师老王10 小时前
2026制造业安全生产隐患识别AI方案:从主流产品对比看企业级AI Agent的非侵入式落地路径
人工智能·安全·ai
xixixi7777712 小时前
三重筑基:5G-A超级上行提速千兆,电联低频共享扫平盲点,800V HVDC算电协同破局
人工智能·5g·ai·大模型·算力·通信·信通院
dllmayday13 小时前
Milvus在LangChain中使用方法
人工智能·ai·langchain·milvus
龙虾闯荡江湖13 小时前
2026年了,聊聊AI Agent工程化落地的几个关键问题
aigc