>> Вернёмся к нашим "баранам", к нашей "угадайке"
... в целом в коде много путаницы, и самое главное отсутствие связи, например "... далее код рисования следа ..." имеется в виду что в этом блоке происходит вызов кода, который добавляет след в сцену, а у тебя след добавляется всегда, как только срабатывает коллизия, далее по тексту была замена ds на ls (этого не нужно делать, то есть это совершенно разные сущности) ...
Каким образом выполняется вызов подпрограмм?
ls это переменная длины следа которую я ввёл. Что такое ds ты ведь не удосужился пояснить, вот я и понял что это дельта следа.
>> (v0 is None) = True, меня не пускает дальше.
... так немного выше в коде ты написал v0 = ...
v0 = None что ли? А, где я должен был это определить? Ты же опять ничего на этот счёт не пояснил. Я рассматривал вариант определения блоке def init():. Меня Python отматюгал, только и всего.
Николай, ты извини меня, но если бы я своим подчинённым пояснял что они должны выполнить, так как это делаешь ты, то скорее всего уже много лет, как студентка-практикантка носил бы бумажки на подпись специалистам из смежных отделов. Ну, пойми ты мой уровень правильно, я новичок который только-только приступает к знакомству с Python и его методами разработки модулей с которыми столкнулся вообще впервые. То, что читал, прояснения мне не дало - оно видно рассчитано на подготовленного человека.
Со скриптами справляюсь поскольку когда-то давно имел скупую практику в Basic и Pascal.
Если тебе такой "фрукт" как я не по зубам, то скажи об этом и я не стану тебя с подобными целями отвлекать. Буду обращаться с вопросами попроще, которые двумя-тремя словами можно пояснить.
... предлагаю перейти на уровень алгоритма, уточнить логику и вернуться к коду ...
... напиши текстом своё видение, как должен формироваться след, это важно чтобы сначала сформировалось общее представление о ходе процесса, а потом уже реализация в коде ...
Если это имеет смысл, то на словах это могу сформулировать примерно так.
В точке касания поверхности колесом устанавливается объект след с предварительной его инициацией, переводом из невидимого слоя в сцену. След выверяется согласно нормали от точки касания колесом поверхности.
В следующем кадре проверяется следующая точка касания на предмет касания поверхности или следа. Коль касание поверхности, то устанавливается объект след, точно так же, как и предыдущий. Коль касание затрагивает объект след, то необходимо перейти к следующему касанию.
Собственно на большой скорости, увидев промежутки между следами я воспринял всё это так, потому и пошёл по пути создания нескольких следов с разной длиной. Кстати, действительно можно создавать на невидимом слое несколько объектов и инициировать их по именам. Я делал их до 6 штук.
Однако, в коде происходит какая-то свистопляска выражаемая тем, что при той же скорости, то следы идут последовательно, то вдруг начинается наложение следов друг на друга с очень малым смещением друг на друге.
Я, собственно, потому и решил начать "танец опять от печки" - от Sled5.blend, и разобраться сначала с наложением следов друг на друга при малой скорости, используя последний вариант предложенного тобою кода.
Как-то так.